02-22-2017, 05:27 PM
UserSpice requirements and installation.
Since I haven't been able to find any resources how to configure my own server for UserSpice, I thought this could be helpful for somebody in the future.
Note: this tutorial was written for Debian 8
It will probably be okay with other distros too. Maybe some google searching if command is not found.
Note: this tutorial assumes, that you have installed working unix server.
Step 1: Install Apache
Apache is responsible for converting your machine into a web server. See What is Apache?
run # sudo apt-get install apache2
If you are configuring your server via SSH, you are probably not logged in as root. If you are not root, you will have to change some permissions, so you will have full access to default directory of your website. Default directory it is set to /var/www/html. If you would like to change default directory, just ask google. There are many versions of apache, so it is likely that my solution does not work for you. In my case I had to change file /etc/apache2/sites-available/000-default.conf.
Change permissions:
run # sudo adduser <username> www-data
where <username> is username of debian
run # sudo chown -R www-data:www-data /var/www
run # sudo chmod -R g+rwX /var/www
Step 2: LetsEncrypt
This step is optional, but since trend is going into TLS (What is TLS?), you will probably be better if you secure your website with encoding. If you are not running Debian, check installation instructions on LetsEncrypt Certbot.
Add this line
to your sources.list (/etc/apt/sources.list)
run # sudo apt-get install python-certbot-apache -t jessie-backports
run # certbot --apache
Now follow instructions and select always redirect item when it prompts you.
Add this line
to apache configuration file (/etc/apache2/sites-available/000-default.conf). This line must be added into between <VirtualHost *:80> tags.
run # sudo certbot renew --dry-run
If you encounter any errors with last command, check your IPv6 settings and google for solution.
Step 3: Install PHP
run # sudo apt-get install php5 libapache2-mod-php5
This will install PHP 5.6. If you would like to try PHP7 just google for solution.
Step 4: MySQL
run # sudo apt-get install mysql-server php5-mysql
run # sudo mysql_secure_installation
Setup will ask you few questions. If you already set password for root type "n" for the first question. All other questions you can answer with "y"
Step 5: PHPmyAdmin<strong>
run # apt-get install phpmyadmin
You will see the following questions:
Now open your web browser and navigate to mysite.com/phpmyadmin
Login with username root and password you set for MySQL.
From now on you can watch Dan's video about installing UserSpice. You can get it under Documentation/Installation and Setup on UserSpice website.
Since I haven't been able to find any resources how to configure my own server for UserSpice, I thought this could be helpful for somebody in the future.
Note: this tutorial was written for Debian 8
It will probably be okay with other distros too. Maybe some google searching if command is not found.
Note: this tutorial assumes, that you have installed working unix server.
Step 1: Install Apache
Apache is responsible for converting your machine into a web server. See What is Apache?
run # sudo apt-get install apache2
If you are configuring your server via SSH, you are probably not logged in as root. If you are not root, you will have to change some permissions, so you will have full access to default directory of your website. Default directory it is set to /var/www/html. If you would like to change default directory, just ask google. There are many versions of apache, so it is likely that my solution does not work for you. In my case I had to change file /etc/apache2/sites-available/000-default.conf.
Change permissions:
run # sudo adduser <username> www-data
where <username> is username of debian
run # sudo chown -R www-data:www-data /var/www
run # sudo chmod -R g+rwX /var/www
Step 2: LetsEncrypt
This step is optional, but since trend is going into TLS (What is TLS?), you will probably be better if you secure your website with encoding. If you are not running Debian, check installation instructions on LetsEncrypt Certbot.
Add this line
Code:
deb http://ftp.debian.org/debian jessie-backports main
run # sudo apt-get install python-certbot-apache -t jessie-backports
run # certbot --apache
Now follow instructions and select always redirect item when it prompts you.
Add this line
Code:
Redirect permanent / https://mysite.example.com/
run # sudo certbot renew --dry-run
If you encounter any errors with last command, check your IPv6 settings and google for solution.
Step 3: Install PHP
run # sudo apt-get install php5 libapache2-mod-php5
This will install PHP 5.6. If you would like to try PHP7 just google for solution.
Step 4: MySQL
run # sudo apt-get install mysql-server php5-mysql
run # sudo mysql_secure_installation
Setup will ask you few questions. If you already set password for root type "n" for the first question. All other questions you can answer with "y"
Step 5: PHPmyAdmin<strong>
run # apt-get install phpmyadmin
You will see the following questions:
- Web server to reconfigure automatically: <-- apache2
- Configure database for phpmyadmin with dbconfig-common?<-- Yes
- Password of the database's administrative user: <-- Enter the MariaDB root password
- MySQL application password for phpmyadmin: <-- Press enter, apt will create a random password automatically
Now open your web browser and navigate to mysite.com/phpmyadmin
Login with username root and password you set for MySQL.
From now on you can watch Dan's video about installing UserSpice. You can get it under Documentation/Installation and Setup on UserSpice website.