Question

Tutorial on installing tikiwiki-15.04 on ubuntu-16.04

Like in description, but I will send 20 USD to someone who makes a a walkthrough for me to install tikiwiki that I can follow through and that works (kindly provide your email address, will let you know when it works and transfer accordingly).

So try your best best and make it work. And if you have a way to make it work, answer this request.


Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

@Sternenfisch

Update/Sync and Upgrade existing packages, then install NGINX and PHP-FPM (as well as required packages).

apt-get update \
&& apt-get -y dist-upgrade \
&& add-apt-repository -y ppa:ondrej/php \
&& apt-get update \
&& apt-get -y install nginx php5.6-cli php5.6-fpm php5.6-dev php5.6-common php5.6-curl php5.6-gd php5.6-imap php5.6-intl php5.6-mysql php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-opcache php5.6-json php5.6-bz2 php5.6-mcrypt php5.6-readline php5.6-xmlrpc php5.6-enchant php5.6-gmp php5.6-xsl php5.6-bcmath php5.6-mbstring php5.6-soap php5.6-xml php5.6-zip

Install MariaDB (MySQL fork w/ better overall performance)

apt-get -y install mariadb-server

Run mysql_secure_installation to set root password for MySQL

mysql_secure_installation

When prompted:

1). Hit enter (you don’t have a root password set yet)

2). Type y to set a root password – make sure it’s secure (16-32 random characters). You’ll be asked to confirm the password.

3). Type y to remove anonymous users.

4). Type y to disable remote login.

5). Type y to remove test database and access to it.

6). Type y to reload privilege tables.

Now we need to create a database for Tiki. From the CLI:

mysql -u root -p

Hit enter and enter in the password you just set for root.

1). Create the Database

create database tikiwiki;

Set user permissions:

grant all on tikiwiki.* to 'tikiwiki'@'localhost' identified by 'password'

In the above, change password to a secure password (that’s different from the root password).

Now we’ll clone the Tiki repo on Github.

cd /opt
git clone https://github.com/tikiorg/tiki.git

Now we’ll create our directory structure for the site.

mkdir -p /home/tikiwiki/htdocs/public

Move the Tiki files over to the above directory:

cp -R /opt/tiki/* /home/tikiwiki/htdocs/public

Set proper permissions:

chown -R www-data:www-data /home/tikiwiki/*

Now all that we need to do is setup our NGINX server block.

rm -rf /etc/nginx/sites-available/default
nano /etc/nginx/sites-available/tikiwiki

In that file, paste in:

server
{
    listen 80;
    listen [::]:80;
    server_name _;

    root /home/tikiwiki/htdocs/public;

    location /
    {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        fastcgi_pass unix:/run/php/php5.6-fpm.sock;
        fastcgi_index index.php;

        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 512k;
        fastcgi_buffers 512 16k;
        fastcgi_busy_buffers_size 1m;
        fastcgi_temp_file_write_size 4m;
        fastcgi_max_temp_file_size 4m;
        fastcgi_intercept_errors off;

        fastcgi_param SCRIPT_FILENAME   $request_filename;
        fastcgi_param PATH_INFO         $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED   $document_root$fastcgi_path_info;
        fastcgi_param QUERY_STRING      $query_string;
        fastcgi_param REQUEST_METHOD    $request_method;
        fastcgi_param CONTENT_TYPE      $content_type;
        fastcgi_param CONTENT_LENGTH    $content_length;
        fastcgi_param SCRIPT_NAME       $fastcgi_script_name;
        fastcgi_param REQUEST_URI       $request_uri;
        fastcgi_param DOCUMENT_URI      $document_uri;
        fastcgi_param DOCUMENT_ROOT     $document_root;
        fastcgi_param SERVER_PROTOCOL   $server_protocol;
        fastcgi_param REQUEST_SCHEME    $scheme;
        fastcgi_param HTTPS             $https if_not_empty;
        fastcgi_param HTTP_PROXY        "";
        fastcgi_param GATEWAY_INTERFACE CGI/1.1;
        fastcgi_param SERVER_SOFTWARE   nginx/$nginx_version;
        fastcgi_param REMOTE_ADDR       $remote_addr;
        fastcgi_param REMOTE_PORT       $remote_port;
        fastcgi_param SERVER_ADDR       $server_addr;
        fastcgi_param SERVER_PORT       $server_port;
        fastcgi_param SERVER_NAME       $server_name;
        fastcgi_param REDIRECT_STATUS   200;
    }
}

You’ll want to change server_name _; to match that of your domain – i.e.

server_name domain.com www.domain.com;

You’ll then want to create your DNS A and CNAME entries so that your domain resolves to your Droplet.

Now we’ll create the symlink.

ln -s /etc/nginx/sites-available/tikiwiki /etc/nginx/sites-enabled/tikiwiki

and then restart NGINX so the changes take:

service nginx restart

Now we can setup Tiki.

cd /home/tikiwiki/htdocs/public
sh setup.sh

When prompted, type ‘c’, hit enter (this will take a few minutes). Once returned to the prompt:

1). Hit enter;

2). Hit enter;

3). Hit enter;

4). Hit enter;

Now when you see Your choice [x]?, hit enter one more time (to exit the script).

The default session storage directory for PHP (using the repo I provided) is /var/lib/php/sessions. Since this is owned by root by default, we need to change that to www-data otherwise you won’t be able to run the installer.

chown -R www-data:www-data /var/lib/php/sessions

On a server with multiple sites, I wouldn’t recommend doing this. Each site should have it’s own directory to store sessions, or you should use Redis/Memcached to manage sessions. For the purpose of this quick mini-guide, this will work.

At this point, you should be able to visit domain.com (i.e. your domain) and run the installer.

You’ll use tikiwiki as the database name, tikiwiki as the database user, and the password you setup when creating the database to run the installer.

This is just a quick and dirty way of getting things setup, much like most tutorials. There’s more that needs to be done to ensure security, setup HTTPS/SSL, etc. The purpose here is to get things up and running quickly.

That said, if you have any questions, feel free to ask. I didn’t do it for the money though, just hoping I can help :-).

Hi @Sternenfisch Have a look at this video - as far as I can see, the only thing you need to change is which version TikiWiki to download (the video downloads the old version 14, you just change that to 15.04) https://www.youtube.com/watch?v=_YrbBSXvsDI