Installing TechnicSolder on Ubuntu 16.04

Hey G33ks,

So today, I wanted to make a Minecraft Modpack using TechnicLauncher.
In case you don’t know yet, a Modpack is a bundle of Mods (or Modifications) for a specific game, in this case, Minecraft!
On the TechnicPack site, they recommended to use Solder in order to manage versioning n stuff.
So I decided to give it a try!
However, they claimed it was only for the experienced system administrator.
Their quick start guide was good, but I decided to make this simple getting started guide anyways.
Let’s go!


Preperations

In order to get started, we need to ready our machine.
You should get your Ubuntu 16.04 box running by yourself first.

Let’s update our repositories by running the following command:

sudo apt-get update

Next up, we install everything we need:

sudo apt-get install apache2 git curl php5-common php5 php5-cli php5-curl php5-mcrypt php5-mysql php5-apcu php5-fpm php5-sqlite php5-gd libapache2-mod-php5

Then, we have to install Composer.
We can install Composer in the /usr/local/bin folder (so we have a global install) by running the following command:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

If everything went right, we can check that composer has been installed by the following command:

composer

It should look something like this:

Now, we can prepare Solder itself.
To do so, we run the following commands (each line is a command):

cd /var/www
git clone https://github.com/TechnicPack/TechnicSolder.git
cd TechnicSolder

now we have to setup our configs:

cd app
cp -r config-sample config
cd config

make a new repo directory with:

sudo mkdir /var/www/repo

open up the solder.php config file.

sudo nano solder.php

change:

'repo_location' => '',

to:

'repo_location' => '/var/www/repo',

and change:

'mirror_url' => '',

to:

'mirror_url' => 'http://your.domain.tld/',

in my case it would be:

'mirror_url' => 'http://solderrepo.finlaydag33k.nl/',

Hit CRTL+X then hit y and then hit enter.
We now saved the configuration.

Now let’s edit app.php:

nano app.php

change:

'url' => 'http://solder.app:8000',

to:

'url' => 'http://your.domain.tld',

in my case:

'url' => 'http://solderrepo.finlaydag33k.nl',

Then save it (crtl+x,y,enter).

We can now install solder!
to do so, we run this command:

composer install --no-dev --no-interaction

We are very close to this part, so let’s continue with the next command, but we have to run it TWICE:

php artisan migrate::install; php artisan migrate

Answer yes when asked something.

Now we have to setup our permissions:

cd /var/www
chown -R www-data:www-data TechnicSolder
chown -R www-data:www-data repo

Now we can go to the next phase!


Configuring Apache2

In order to get Solder to work properly, we have to edit some configurations for Apache2:

run the following command to create a new vhost:

nano /etc/apache2/sites-enabled/solder.conf

Then paste the following code into that file and change the ServerName and ServerAdmin to your specifics.

<VirtualHost *:80>
 
        # Host that will serve this project.
        ServerName solder.technicpack.net
        ServerAdmin [email protected]
        
        # The location of public directory.
        DocumentRoot /var/www/TechnicSolder/public/
 
        # Important options for solder public directory.
        <Directory /var/www/TechnicSolder/public>
              Options FollowSymLinks
              AllowOverride All
              
              # requires mod_version
              <IfVersion >= 2.4>
                    Require all granted
              </IfVersion>
              <IfVersion < 2.4>
                    Order allow,deny
                    Allow from all
              </IfVersion>
        </Directory>
 
        # Useful logs for debug.
        ErrorLog ${APACHE_LOG_DIR}/solder/error.log
        CustomLog ${APACHE_LOG_DIR}/solder/access.log combined
 
</VirtualHost>

Save it again (with the crtl+x,y,enter combo)
Now, we have to make a dir for the logs.
We can do so by entering the following command:

sudo mkdir /var/log/apache2/solder

Now we have to enable mod_rewrite.
We can do so by entering this command:

sudo a2enmod rewrite

restart apache2 with the following commands:

sudo service apache2 restart

If you did everything right, you can now go to your solder URL (in my case http://solder.finlaydag33k.nl) and login with the default credentials:

user: [email protected]
pass: admin

Once you have logged in you get presented with a fine dashboard!

That's one fine dashboard isn't it? 😀

Don’t forget to change your username and password!
You can do so under Configure Solder -> User Management
then hit Create User.
Fill in the details and…

That did not go as expected...

Let’s fix that by running this command:

chown www-data:www-data /var/www/TechnicSolder/app/database/production.sqlite

Great success!

Give yourself all permissions and delete the old admin user.
Log in again, and boom!
We have now installed Solder!

 
 

I hope you guys found this guide useful!
if you did, please share it with anybody who might need it!
Stay creative, and i’ll see you in the next one!

G33k Out!

Leave a reply