Akkoma is a social networking software that allows users to create and join communities, share content, and connect with others. In this tutorial, we will guide you on how to install Akkoma on a Fedora Server.
Before starting, it is always recommended to update the system packages to their latest version. You can do this by running the following commands as sudo:
sudo dnf -y update
Akkoma requires some dependencies to be installed on your server. Run the following command to install them:
sudo dnf -y install git wget curl unzip nginx mariadb-server php php-fpm php-mysqlnd php-json php-gd php-xml php-mbstring php-zip
Once installed, start and enable nginx and mariadb to start at system boot:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mariadb
sudo systemctl enable mariadb
Composer is a dependency manager for PHP, used to install and manage dependencies required by Akkoma. Here's how to install it:
sudo curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Verify that Composer was installed by running:
composer
Clone Akkoma's Git repository from GitHub to your document root folder:
sudo git clone https://github.com/akkoma/Akkoma.git /usr/share/nginx/html/akkoma
Next, navigate to the Akkoma directory and install its dependencies using Composer:
cd /usr/share/nginx/html/akkoma
sudo composer install
Create a copy of the example configuration file and name it .env
:
cp .env.example .env
Open the .env
file using your favorite text editor and fill in the following values:
DB_DATABASE=dbname
DB_USERNAME=dbuser
DB_PASSWORD=dbpass
APP_URL=https://your-domain-name.com
Save and close the file.
Next, generate the application key required by Akkoma:
sudo php artisan key:generate
Log in to MySQL/MariaDB as the root user:
sudo mysql -u root -p
Create a new database:
CREATE DATABASE dbname;
Create a new user and grant privileges to the database:
CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'dbpass';
GRANT ALL PRIVILEGES ON dbname.* TO 'dbuser'@'localhost';
FLUSH PRIVILEGES;
exit;
Run the following commands to create the database tables and seed the database with some initial data:
sudo php artisan migrate:fresh --seed
Create a new server block configuration for Akkoma:
sudo nano /etc/nginx/conf.d/your-domain-name.com.conf
Add the following configuration:
server {
listen 80;
server_name your-domain-name.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name your-domain-name.com;
ssl_certificate /path/to/your/certificate.pem;
ssl_certificate_key /path/to/your/key.pem;
root /usr/share/nginx/html/akkoma/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Replace your-domain-name.com
with your domain name and /path/to/your/certificate.pem
and /path/to/your/key.pem
with the paths to your SSL/TLS certificate and key files respectively.
Save and close the file.
Apply the changes to Nginx and php-fpm by restarting them:
sudo systemctl restart nginx
sudo systemctl restart php-fpm
You are now ready to access Akkoma. Open your web browser and go to https://your-domain-name.com
. You should see the Akkoma welcome page.
In this tutorial, we have shown you how to install Akkoma on a Fedora Server. You can now use Akkoma to create and join communities, share content, and connect with others.
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!