Table of Contents
- Step 1: Update the system
- Step 2: Install Apache
- Step 3: Install MariaDB
- Step 4: Install PHP
- Step 5: Download Oxwall
- Step 6: Setup an Apache virtual host
- Step 7: Create a database for Oxwall
- Step 8: Modify a firewall rule
- Step 9: Finish the installation from a web browser
Oxwall is an open source social networking software platform which can be used to build a custom social networking site (SNS) for free.
In this article, I will explain how to install Oxwall on a CentOS 7 server instance.
- An ITWeb.Services CentOS 7 server instance.
- A sudo user.
Step 1: Update the system
Log in as a sudo user, and then update the system to the latest status:
sudo yum install epel-release -y sudo yum update -y sudo shutdown -r now
After the system boots up again, log back in as the same sudo user to proceed.
Step 2: Install Apache
Running an Oxwall site needs a web server deployed on your machine. Here, you can install Apache 2.4 using YUM:
sudo yum install httpd -y
In a production environment, you should remove the preset Apache welcome page:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
For security purposes, you should also disallow Apache from exposing file paths in visitors’ web browsers:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Start the Apache service:
sudo systemctl start httpd.service sudo systemctl enable httpd.service
Step 3: Install MariaDB
Since Oxwall needs a MySQL database to store all of the site contents, you need to install MariaDB on your CentOS 7 server using YUM:
sudo yum install mariadb mariadb-server -y
Start the MariaDB service:
sudo systemctl start mariadb.service sudo systemctl enable mariadb.service
Secure the installation of MariaDB:
During the process, reply to the questions on the screen as shown below. Be sure to setup a private and complicated password.
Enter current password for root (enter for none): Enter Set root password? [Y/n]: Y New password: <your-password> Re-enter new password: <your-password> Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Step 4: Install PHP
Oxwall is compatible with PHP 5.5 and PHP 5.6. Since PHP 5.5 has reached EOL (End of Life), you can install PHP 5.6 for Oxwall using the IUS YUM repo.
Install the IUS YUM repo:
cd wget https://centos7.iuscommunity.org/ius-release.rpm sudo rpm -Uvh ius-release.rpm
Install PHP 5.6 and required dependencies for Oxwall using the IUS YUM repo:
sudo yum install php56u php56u-pdo php56u-xml php56u-mbstring php56u-common php56u-cli php56u-mysqlnd php56u-xmlrpc php56u-mcrypt php56u-gd curl libcurl-devel -y
Restart Apache in order to load the new components:
sudo systemctl restart httpd.service
Step 5: Download Oxwall
You can always get the latest release of Oxwall from Oxwall official download page. At the time of writing this article, the latest release of Oxwall is 1.8.4.
cd wget --no-check-certificate https://developers.oxwall.com/dl/oxwall-18.104.22.168.zip sudo yum install unzip -y unzip oxwall-22.214.171.124.zip -d oxwall sudo mv oxwall /var/www/html && sudo chown apache:apache -R /var/www/html/*
Step 6: Setup an Apache virtual host
vi text editor to create an Apache virtual host config file for Oxwall:
sudo vi /etc/httpd/conf.d/oxwall.conf
Populate this file with the following contents:
<VirtualHost *:80> ServerName oxwall.example.com DocumentRoot /var/www/html/oxwall <Directory /var/www/html/oxwall> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
Save and quit:
Again, restart Apache in order to put your settings into effect:
sudo systemctl restart httpd.service
Step 7: Create a database for Oxwall
Log into the MySQL shell as
mysql -u root -p
Use the MariaDB root password you set earlier to log in.
In the MySQL shell, create a database named
oxwall and a database user named
oxwalluser with the password
yourpassword, and then grant all privileges on this database to this database user.
Note: When executing these commands on your own machine, be sure to use your own credentials.
CREATE DATABASE oxwall; CREATE USER 'oxwalluser'@'localhost' IDENTIFIED BY 'yourpassword'; GRANT ALL PRIVILEGES ON oxwall.* TO 'oxwalluser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;
Step 8: Modify a firewall rule
Before users can visit your Oxwall site, you need to allow HTTP traffic on port 80 in the firewall settings:
sudo firewall-cmd --zone=public --permanent --add-service=http sudo firewall-cmd --reload
Step 9: Finish the installation from a web browser
Point your web browser to your server IP
http://203.0.113.1, and then you will be brought into the
Site settings page. Input all required information as below:
- Root directory:
Afterwards, click the
CONTINUE button to move on to the
Database page. Here, you need to provide info about the MySQL database you setup earlier:
- Database Name:
- Table prefix:
CONTINUE button to enter the
Finalizing install page on which the wizard will ask you to create a cron job. That step needs to be completed in your SSH terminal:
sudo crontab -e
Populate the crontab file with:
* * * * * /usr/bin/php /var/www/html/oxwall/ow_cron/run.php
Save and quit:
Finally, click the
CONTINUE button in the web browser to finish the installation. After the installation, you can navigate to your Oxwall site or adjust more settings in the admin area.
That’s all. Thank you for your reading.
Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!