Loading...
 
Skip to main content

History: Linux Install

Source of version: 4 (current)

Copy to clipboard
            !Linux Install
This is an Installation guide for GNU/Linux-Apache-MySQL-PHP4+  Installation

For other installation instructions see: ((installation))

-= Before you start =-

*  Read through this entire document at least once before doing anything
*  Check your ((Requirements))

-= Initial Steps: Download, Unpack, Create Directories =-

These initial steps presume you're installing on a Linux machine running the Apache Webserver.  Read this once top to bottom before getting started.  If you're using a Windows box you can ignore the portion about setting permissions, but you'll have to set up some of Tiki's directories manually.

^ For additional installation information: InstallTiki and InstallTikiHelp. ^
# Decide where your __tikiroot__ should be, that will be the relative url path to your site.
# Download the Tikiwiki installation file from [http://sourceforge.net/project/showfiles.php?group_id=64258|sourceforge.net/projects/tikiwiki].
** E.g., ''tikiwiki_1.7.tar.bz2''
# Unpack all files to the document root of your Tiki.
** ''unzip'' the zip archive or ''tar xvjf'' the bz2 file.
** E.g., -+tar xvjf tikiwiki_1.7.tar.bz2+-
# Rename the unpacked Tiki package's directory to whatever you want to name your Tiki's root directory--''tiki'', if you wish.
** E.g., ''/var/www/tiki/'' or ''/var/www/noodle/'' or whatever
** E.g., on Linux, 
*** -+mv lasttiki_release_eta_carinea_rc1 tiki+-
# Determine what ''user'' and ''group'' your webserver runs as--using the command 'id'.
** E.g., ''nobody'' and ''nobody'' or "www" and "www", both common choices
** You might try looking in /usr/local/apache/conf/ for the file httpd.conf.  Under the User and Group headings, you will see the user and group Apache is configured to run under. 
# The set-up script (__setup.sh__) in the root Tiki directory assigns necessary permissions for the directories that Tiki writes files to. It also creates the (initially empty) cache directories.
## On Linux, first set the permissions for __setup.sh__ to make it executable.
*** {CODE()}chmod 755 setup.sh{CODE}
## Execute __setup.sh__.  Its usage is
*** {CODE()} ./setup.sh user [group] [rights] [list of virtual host domains]{CODE} 
*** E.g., if Apache is running as user ''nobody'' and group ''nobody'', type:
**** {CODE()} su -c './setup.sh nobody'{CODE}
*** Alternatively, you may wish to set both the user and group:
**** {CODE()} su -c './setup.sh nobody nobody'{CODE}
*** This will allow you to delete certain files/directories without becoming root. Or, if you can't become root, but are a member of the group Apache runs under (for example, ''nobody''), you can type:
**** {CODE()}./setup.sh nobody nobody{CODE}
*** If you can't become root, and are not a member of the Apache group, then type:
**** {CODE()}./setup.sh $USER yourgroup 02777{CODE}
****Replace ''yourgroup'' with your default group.
**** NOTE: If you do execute this last command, you will not be able to delete certain files created by Apache.  You will need to ask your system administrator to delete them for you, if needed. ((TogggDeletor|see Toggg's solution))
****An alternative setup procedure at InstallWithOnlyFtpAccess may be more useful if you cannot become root and are not in the Apache group, a common issue with shared hosting.
** If you have problems accessing a directory, check the ''open_basedir'' entry in ''/etc/php.ini'' or Apache's ''httpd.conf''.

-=Create a MySQL Database=-

# Connect to your MySQL database server with an application such as [http://www.phpmyadmin.net|PhpMyAdmin] or [http://www.mysql.com/products/mysqlcc/|MySQLCC] and create a Tiki database.
** Although the name is arbitrary, it's best to call it ''tiki''.
** Of course, you may access MySQL from the command line, too:
***{CODE()}mysqladmin create ''dbname''{CODE}
**  For security you can create an user to Tiki access to the database. There are in the MySQL site [http://www.mysql.com/doc/en/Adding_users.html|instructions] on how create users, for that case in example could be {CODE()}
mysql -u root mysql
grant SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER 
on tiki.* to tikiuser@localhost identified by 'tikipassword';
{CODE} (assuming the user will be tikiuser with tikipassword as password)

# You do not have to manually create any tables in the database..