WordPress

From Earlham CS Department
Revision as of 12:25, 11 January 2021 by Craigje (talk | contribs)
Jump to navigation Jump to search

This is how to create a WordPress site. Assumes you have permissions on the CS web server (see admins if not).

WordPress Setup

1. cd to /var/www/ and unzip the file and name it “wordpress-sitename”

 >> cd /var/www/
 >> tar -xvzf wp_download.tar.gz
 >> mv wordpress/  wordpress-sitename

2. Create a mysql database with the name “wp_sitename” and give “wpadmin” access to it:

 >> mysql -u root -p    // You will need the password
 MariaDB [(none)]> create database wp_sitename;
 // you will need to enter the wordpress username and password in place of <user> and <pass>
 MariaDB [(none)]> grant all privileges on wp_sitename.* to '<user>'@'localhost' identified by '<pass>';  
 MariaDB [(none)]> flush privileges; 
 MariaDB [(none)]> exit

3. Rename the config file and edit it

 >> cd wordpress-sitename/
 >> mv wp-config-sample.php wp-config.php
 >> vi wp-config.php // Here you will be editing the Mysql settings

You will need the name of the database, username (use wpadmin as you have already granted it privileges) and the corresponding password:

The edited version should look like:

 // ** MySQL settings - You can get this info from your web host ** //
 /** The name of the database for WordPress */
 define('DB_NAME', 'wp_sitename');
 /** MySQL database username */
 define('DB_USER', username);
 /** MySQL database password */
 define('DB_PASSWORD', password);
 /** MySQL hostname */
 define('DB_HOST', 'localhost');
 /** Database Charset to use in creating database tables. */ define('DB_CHARSET', 'utf8');
 /** The Database Collate type. Don't change this if in doubt. */ define('DB_COLLATE', );

Everything else in this file should remain the same.

  • You can also view similar files to make sure the config file is setup properly, and copy the username and password for database from there.
 >> view ../wordpress-datascience/wp-config.php

4. Change owner and permissions

 >> chown -R www-data:www-data wordpress-sitename/
 >> chmod -R 755 wordpress-sitename/
 >> mkdir -p /var/www/wordpress-sitename/wp-content/uploads
 >> chown -R :www-data /var/www/wordpress-sitename/wp-content/uploads/

5. Setting up the website and ssl cert

 >> cd /etc/apache2/sites-available/
 >> cp datascience.cs.earlham.edu-ssl.conf sitename.cs.earlham.edu-ssl.conf
  • Edit the .conf file and change the word datascience to your sitename
 >> vi sitename.cs.earlham.edu-ssl.conf
  • Create a link from sites-available to sites-enabled
 >> ln -s sitename.cs.earlham.edu-ssl.conf /etc/apache2/sites-enabled/sitename.cs.earlham.edu-ssl.conf

6. Enable the site

 >> a2ensite sitename.cs.earlham.edu-ssl.conf   // If this doesn't work, please talk to a sys-admin  
 >> service apache2 reload
 >> service apache2 restart

This will enable the website - ask admins to create DNS entry

7. Install WordPress and enjoy!

8. Changing the settings of the page:

  • Go to Settings > Permalinks, and choose the format you would like // For e.g. I chose Post Name as the setting.
  • Click on the Custom setting, and add "/index.php/" before the name setting, such that the setting changes from "/%postname%/" to "/index.php/%postname%/" // for Post Name setting.

9. If you're unable to create a page/post, or upload media, you need to change the permissions again. Repeat step 4 for changing permissions and owners.

Misc notes

As of Jan 2021 we use PHP 7.2 for WordPress. The correct php.ini file is: /etc/php/7.2/apache2/php.ini