How to Install Mediagoblin on Manjaro

Mediagoblin is a free, open-source media publishing platform that allows users to share videos, images, and audio files. In this tutorial, we will walk through the steps to install Mediagoblin on Manjaro.

Prerequisites

Before we begin, you will need the following:

Step 1 - Install Dependencies

Mediagoblin requires several dependencies to function properly, including Python, PostgresQL, and Apache. You can install them by running the following command in your terminal:

sudo pacman -S python python-psycopg2 python-pillow python-gobject python-lxml python-babel python-pytz postgresql apache

Step 2 - Setup PostgresQL

After installing PostgresQL, you need to create a new database and user for Mediagoblin. Run the following commands to create a new database and user:

sudo -u postgres createuser -DRSP mediagoblin
sudo -u postgres createdb -O mediagoblin mediagoblin

Step 3 - Install Mediagoblin

You can download the latest version of Mediagoblin from the official website (https://mediagoblin.org/) or use the following command to download and extract the archive:

wget https://media.goblinrefuge.com/pub/mediagoblin/releases/mediagoblin-latest.tar.gz
tar xvzf mediagoblin-latest.tar.gz

Then, navigate to the extracted directory and run the following command to install Mediagoblin:

cd mediagoblin-<version>
python setup.py develop

Step 4 - Configure Mediagoblin

Next, you need to configure Mediagoblin by creating a configuration file. You can use the example configuration file provided in the mediagoblin.ini file to create your configuration file:

cp mediagoblin.ini mediagoblin_local.ini
nano mediagoblin_local.ini

In the mediagoblin_local.ini file, update the sqlalchemy.url setting to match your PostgresQL configuration:

sqlalchemy.url = postgresql://mediagoblin@localhost/mediagoblin

Step 5 - Configure Apache

Finally, you need to configure Apache to serve Mediagoblin. Create a new Apache configuration file by running the following command:

sudo nano /etc/httpd/conf/mediagoblin.conf

In the configuration file, paste the following code:

<VirtualHost *:80>
    ServerName YOUR_DOMAIN
    DocumentRoot /path/to/your/mediagoblin/public
    WSGIScriptAlias / /path/to/your/mediagoblin/mediagoblin.wsgi
    <Directory /path/to/your/mediagoblin/public>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Replace YOUR_DOMAIN with your domain name and /path/to/your/mediagoblin with the path to your Mediagoblin installation directory.

Finally, enable Apache and start the Mediagoblin server with the following commands:

sudo systemctl enable httpd
sudo systemctl start httpd
python -m paste deploy /path/to/your/mediagoblin/mediagoblin.ini production.ini

And that's it! You should now be able to access your Mediagoblin installation by visiting your domain in a web browser.

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!