Seo Panel on Ubuntu 20.04
My test platform: Ubuntu Server 20.04 and SEO Panel 4.6.0
SEO Panel is a free and open source control panel that can be used for search engine optimization of your websites.
Requirements: user with root privileges or non-root user with sudo privileges.
Apache, PHP and MariaDB installation
$ sudo apt install apache2 mariadb-server php php-mysql php-curl php-json php-cgi \
libapache2-mod-php php-xmlrpc php-gd php-mbstring php php-common php-xmlrpc \
php-soap php-xml php-intl php-cli php-ldap php-zip php-readline php-imap \
php-tidy php-intl unzip wget -y
Once the installation has been completed, edit /etc/php/7.4/apache2/php.ini and set:
...
memory_limit = 300M
...
upload_max_filesize = 200M
...
max_execution_time = 400
...
date.timezone = Europe/Warsaw
...
*date.timezone - yours timezone.
Restart the Apache service. On Ubuntu, the services should be started automatically after packages pre-configuration is complete. You can check it and enable services together with the system.
$ sudo systemctl restart apache2.service && sudo systemctl status apache2.service
$ sudo systemctl status mariadb.service
MariaDB configuration
$ sudo mysql_secure_installation
Answer all the questions as shown below:
Enter current password for root (enter for none):
Set root password? [Y/n]: Y
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
Log in to MariaDB shell and set up:
$ sudo mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 44
Server version: 10.3.22-MariaDB-1ubuntu1 Ubuntu 20.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> USE mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [mysql]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> exit
Bye
Restart MariaDB service:
$ sudo systemctl restart mariadb.service && sudo systemctl status mariadb.service
Log in to MariaDB shell, create a database and user for SEO Panel. Grant privileges to the database. In this example:
seopaneldb | database for SEO Panel, |
---|---|
seopanelusr | user for SEO Panel database |
pass4seopaneldb | secure password for seopanelusr and seopaneldb |
$ mysql -u root -p
Enter password:
MariaDB [(none)]> CREATE DATABASE seopaneldb;
MariaDB [(none)]> CREATE USER seopanelusr;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON seopaneldb.* TO 'seopanelusr'@'localhost' IDENTIFIED BY 'pass4seopaneldb';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
SEO Panel installation and configuration
$ cd /tmp
$ wget hhttps://sourceforge.net/projects/seopanel/files/seopanel.v.4.6.0.zip
$ unzip seopanel.v.4.6.0.zip
$ sudo cp -r seopanel /var/www/html/
$ sudo chown -R www-data:www-data /var/www/html/seopanel
$ sudo chmod -R 755 /var/www/html/seopanel
Next, create an Apache virtual host file /etc/apache2/sites-available/seopanel.conf:
<VirtualHost *:80>
ServerAdmin admin@local.lnxorg
DocumentRoot /var/www/html/seopanel
ServerName ctx06vm.local.lnxorg
<Directory /var/www/html/seopanel/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/seopanel_error.log
CustomLog ${APACHE_LOG_DIR}/seopanel_access.log combined
</VirtualHost>
Replace ServerAdmin and ServerName with parameters corresponding to your case. Save the file and enable the virtual host, the Apache rewrite module and restart web server to apply all the changes:
$ sudo a2ensite seopanel.conf && sudo a2enmod rewrite
$ sudo systemctl restart apache2.service && sudo systemctl status apache2.service
Open your web browser and type the URL of your SEO Panel website.
- Once all the requirements are validated, click on the Proceed to the next step button.
- Provide your database details like database name, database username, password and Admin email. Click on the Proceed to next step button.
- Provide your default language, default time zone and click on the Proceed to admin login button.
You have successfully installed the SEO Panel.
Reference: SEO Panel Documentation.