PixelFed is a free and open-source social network platform that allows you to share photos and videos online securely. In this tutorial, we will guide you through the process of installing PixelFed on Clear Linux Latest.
Before we proceed with the installation process, ensure you have the following:
PixelFed runs on the LEMP (Linux, Nginx, MySQL, and PHP) stack. Therefore we need to install the required dependencies;
Let's update Clear Linux first to ensure it has the latest package:
sudo swupd update
sudo swupd autoupdate
Now install required dependencies:
sudo swupd bundle-add php-basic php-mysql mysql nginx
After installing dependencies, let's clone the PixelFed Git repository into the /var/www directory:
sudo git clone https://github.com/pixelfed/pixelfed.git /var/www/pixelfed
We need to create a MySQL database for PixelFed for storing data. Log in to MySQL using the following command:
sudo mysql -u root -p
Now create a new database and user and give the necessary privileges
CREATE DATABASE pixelfed_db;
CREATE USER 'pixelfed_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON pixelfed_db.* TO 'pixelfed_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
In this step, we will configure Nginx to serve PixelFed. Create a new Nginx configuration by creating a new file;
sudo nano /etc/nginx/conf.d/pixelfed.conf
Now paste the following contents into the new file:
server {
listen 80;
listen [::]:80;
root /var/www/pixelfed/public;
index index.php index.html;
server_name example.com;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass unix:/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include /etc/nginx/fastcgi_params;
}
}
Note: Replace example.com with your domain name.
Now save and exit the file.
Lastly, we will configure PHP-FPM to process the PHP files.
Edit the PHP-FPM configuration file using the following command:
sudo nano /etc/php-fpm.d/www.conf
Change the following lines:
listen = /run/php-fpm.socket
listen.owner = nobody
listen.group = nobody
user = nginx
group = nginx
To the following:
listen = /run/php-fpm.socket
listen.owner = nobody
listen.group = nobody
user = apache
group = apache
Now restart PHP-FPM and Nginx to effect all changes.
sudo systemctl restart php-fpm
sudo systemctl restart nginx
Navigate to https://example.com (replace example.com with your domain name) on your web browser to access the PixelFed installation wizard.
Follow the installation wizard to complete PixelFed installation.
Congratulations! You have successfully installed PixelFed on Clear Linux Latest. You can now start sharing your photos and videos online with pixel-fed.
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!