WordPress is a free and open-source content management system (CMS) based on PHP and MySQL. WordPress is installed on a web server that is either part of an Internet hosting service or a network host in its own right. A local computer may be used for single-user testing and learning purposes. Furthermore, it’s easy to set up WordPress on your Fedora system.
Install the packages
Fedora provides a set of pre-packaged software to make installation easy. Open a terminal, and at the command prompt, use sudo to install the following packages.
sudo dnf install @"Web Server" wordpress php-mysqlnd mariadb-server
This example assumes you’ll run the web and database servers on the same machine. This is often the case for students and developers alike.
Enable the web and database services to start at boot time, then start them immediately:
sudo systemctl enable httpd.service mariadb.service sudo systemctl start httpd.service mariadb.service
Set up the database server
First, you should create a password for your root user.
sudo mysqladmin -u root password
Next, create a database. For instance, this example uses mywpsite. The -p switch prompts you for a password. You’ll need that, since you’ve added a password for root.
sudo mysqladmin create mywpsite -u root -p
Next, set up a special privileged user and password for the database. The web app uses these credentials to run. Use the standard mysql client program for this step. The -D mysql option attaches to the built-in mysql database where privileges are stored.
Your input is shown in boldface in the example below. Make sure to use a strong password and not password itself.
$ sudo mysql -D mysql -u root -p Enter password: Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 6 Server version: 10.1.18-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [mysql]> GRANT ALL PRIVILEGES ON mywpsite.* TO 'sqluser'@'localhost' IDENTIFIED BY 'password'; Query OK, 0 rows affected (0.00 sec) MariaDB [mysql]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec) MariaDB [mysql]> QUIT; Bye
Set up the web server
Next, tune the SELinux parameters so the web server can perform necessary functions.
sudo setsebool -P httpd_can_network_connect_db=1 sudo setsebool -P httpd_can_sendmail=1
Next, edit the configuration file for the web server to allow connections. The file to edit is
/etc/httpd/conf.d/wordpress.conf. Change the following line:
Instead, edit it as follows:
Require all granted
Next, configure your firewall so it allows traffic on port 80 (HTTP):
sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload
Next, edit the
/etc/wordpress/wp-config.php file. Provide the database settings needed so WordPress can use the database you provided. Here are the lines to change. Search for each and edit the required setting:
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'database_name_here'); /** MySQL database username */ define('DB_USER', 'username_here'); /** MySQL database password */ define('DB_PASSWORD', 'password_here'); /** MySQL hostname */ define('DB_HOST', 'localhost');
The DB_HOST setting should stay localhost if you’re serving the database on the same system as the web server.
Finally, restart the web server:
systemctl restart httpd
Next, you’re ready to configure the web app itself. Open a web browser on the system, or a connected system. Then browse to the IP address of your WordPress host, followed by /wordpress. If you’re on the same box, you can use
http://localhost/wordpress. This step begins the setup process:
WordPress started as a simple blogging system, but has evolved into a reputable content management system. It’s also one of the most popular open source projects. Furthermore, it’s easy to set up WordPress on your Fedora system. Install the packages Fedora provides… Continue Reading →