Installing Chevereto on Alpine Linux

Chevereto is a powerful and customizable image sharing script that allows users to create their own image hosting website. In this tutorial, we'll cover how to install Chevereto on Alpine Linux.

Prerequisites:

Step 1: Update the System

Before starting, ensure that you have the latest system updates on your Alpine Linux instance by running the following command:

sudo apk update && sudo apk upgrade

Step 2: Install Required Packages

Chevereto requires a few packages to run correctly. We'll use the following command to install them:

sudo apk add nginx mariadb mariadb-client php7 php7-fpm php7-phar php7-json php7-mysqlnd php7-gd php7-mbstring php7-zlib php7-openssl php7-curl php7-zip php7-iconv php7-zip php7-ctype php7-session php7-intl php7-dom supervisor unzip

Step 3: Configure Nginx

Once installed, we need to configure the Nginx virtual host. To do that we need to create a new configuration file in the following directory: /etc/nginx/conf.d/.

sudo vi /etc/nginx/conf.d/chevereto.conf

Then add the following content and save the file:

server {
    listen 80;
    server_name example.com; # replace this with your domain
    root /var/www/html/chevereto/public;
    index index.php index.html;

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

    location ~ \.php$ {
        fastcgi_pass unix:/run/php-fpm7.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

This configuration file will serve Chevereto on port 80 and direct requests to the Chevereto application files located in /var/www/html/chevereto/public.

Step 4: Setup MariaDB

Chevereto requires a database to store user data. We'll host it on MariaDB. Install it with the following command:

sudo apk add mariadb mariadb-client

After installation, run the following command to secure the installation:

sudo mysql_secure_installation

Next, create a new MariaDB user and database by entering the following command:

mysql -u root -p
CREATE DATABASE chevereto;
CREATE USER 'chevereto_admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON chevereto.* TO 'chevereto_admin'@'localhost';
FLUSH PRIVILEGES;
exit

Make sure to replace password with the actual password you have created for the chevereto_admin user.

Step 5: Install Chevereto

Download the latest release of Chevereto using the following command:

wget https://github.com/Chevereto/Chevereto-Free/archive/master.zip

Extract the contents of the zip file using the unzip command.

unzip master.zip

Then move the extracted files to the /var/www/html/chevereto directory.

sudo mv Chevereto-Free-master /var/www/html/chevereto/

Update the permissions of the directory by running the following command:

sudo chown -R nginx:nginx /var/www/html/chevereto/

Step 6: Configure Chevereto

Chevereto's main configuration file is located in /var/www/html/chevereto/app/settings.php. Open it in your preferred text editor to modify the required settings.

For example, to update the database details, enter:

'db_driver' => 'mysql',
'db_host' => 'localhost',
'db_name' => 'chevereto',
'db_user' => 'chevereto_admin',
'db_password' => 'password'

Again, make sure to replace password with the actual password you have created for the chevereto_admin user.

Step 7: Start the Services

Use the following commands to start the services:

sudo service php-fpm7 start
sudo service nginx start
sudo service mariadb start

Conclusion

You have now installed Chevereto on an Alpine Linux instance successfully. You can now navigate to the IP address or domain name of your server in a browser to access your Chevereto installation.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!