Software configuration for commodity x86/86_64 linux art research platform.
Assume Fedora 27 or 28. See base document for full software stack.
dnf install -y wordpress wordpress-plugin-bad-behavior wordpress-plugin-defaults python3-wordpress-xmlrpc
Configure as per these Fedora-specific notes. Also, read these Centos-7 notes.
Useful background material on WordPress is at the codex.
Recommended, but not essential packages:
dnf install -y php-pecl-imagick php-pecl-ssh2 php-opcache php-pecl-zendopcache php-pecl-apc
Configuration file for webserver-wordpress is:
Configuration file for wordpress is:
Wordpress site files are:
CMS Multisite Setup
Turns out that WordPress (and the rest of the underlying software) can run more than one site at once: this is referred to as a multisite configuration. Or simply multisite.
This server-side configuration is a bit more complicated; here is an article about it from HowtoForge.
Most hosting companies run multisite: if you are migrating away from or archiving a website it may be useful to setup a multisite configuration on the new server as well.
Data, Backup, and Migration
Keep it liquid. Have an archive and practice restoring it on a staging or test server.
To import a pre-existing site to the staging server, there are a couple of options:
- import/export via WordPress Admin Tools, may be the only option if not a hosted site
- stage and backup with a plugin like Duplicator, JetPack, or BackWPup
- dealing with the archive files that a hosting service provides
For option 1 above, the simplest import/export is via builtin tools:
use the existing server to export a WXR file (via Tools->Export in the wordpress admin page), and install the import plugin on the new server. See the importing content part of the wordpress codex.
For sites that have export files over the default 2MB, a bit of tweaking is necessary to import said file in its entirety. First, find out where the active
php.ini file is:
php -i | grep "Loaded Configuration File" Loaded Configuration File => /etc/php.ini
So, edit this file to change the value of
upload_max_filesize = 64MB post_max_size = 128MB
For option 2 above, use the Duplicator plugin. First, install it on the active site by copying the zip file into
*/public_html/content/plugins. Activate it on the admin page of WordPress, and make an archive by following the on-screen conditions.
The Duplicator plugin requires some server-side capabilities. Make sure that
php.ini has the following extensions enabled:
Once everything is working, the Duplicator plugin produces an archive file and a
installation.php file. Download these and transfer them to the staging site.
First, temporarily disable SELinux.
setenforce 0 to disable and
setenforce 1 to re-enable, or edit and restore
Next, create an empty and writeable directory to use for the migration.
mkdir -p /usr/share/wordpress chmod 777 /usr/share/wordpress
Copy the archive file and the
installer.php to this otherwise empty directory. Then edit
/etc/httpd/conf.d/wordpress.conf so that the
Directory /usr/share/wordpress has
# AllowOverride Options AllowOverride All
Then go to a browser and follow the directions at
Then, unwind all the goofiness: enable SELinux again, re-set permissions, etc.
For option 3 above, ah. Avoid if possible. If not, take ownership of a large compressed file of the
public_html folder and smaller compressed file of the database.
Move the database archive into
/var/lib/mysql, and change the ownership and group permissions to
mysql. Next, create a new database on the command line. Then, open up pgpMyAdmin page, select the newly created database, and import the compressed file into it.
Then, move the compressed file of
public_html and make it point to