Difference between revisions of "WordPress"
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
This is how to create a WordPress site. Assumes you have permissions on the CS web server (see admins if not). | This is how to create a WordPress site. Assumes you have permissions on the CS web server (see admins if not). | ||
− | === WordPress Setup === | + | === Add a site to the multisite instance === |
− | 1. cd to /var/www/ and unzip the file and name it “wordpress-sitename” | + | |
+ | This is the simplest way to make a new site that is easily maintained. | ||
+ | |||
+ | Much of this requires admin permissions at either the WordPress level or the system level. | ||
+ | |||
+ | Note: where you see "sitename", substitute your site's name, which should be one token with letters and numbers only if possible. | ||
+ | |||
+ | # Add your chosen domain name as a CNAME for web dot cs dot earlham dot edu in DNS. | ||
+ | # As a Network Admin, go to Sites > Add New. | ||
+ | ## It will default to cs.earlham.edu/sitename rather than sitename.cs.earlham.edu. Leave it that way for now. | ||
+ | ## Use the email address associated with your CS user account as the admin address. | ||
+ | ## After the site is created, click "Edit". | ||
+ | ## Now use the sitename.cs.earlham.edu pattern as the "Site Address (URL)". | ||
+ | # Visit sitename.cs.earlham.edu to see if you can access the page. | ||
+ | |||
+ | === Single-site WordPress Setup === | ||
+ | 1. cd to /var/www/ and unzip the file and name it “wordpress-sitename” (Example: wordpress-datascience) | ||
>> cd /var/www/ | >> cd /var/www/ | ||
Line 11: | Line 27: | ||
>> mysql -u root -p // You will need the password | >> mysql -u root -p // You will need the password | ||
− | MariaDB [(none)]> create database wp_sitename; | + | MariaDB [(none)]> create database <wp_sitename>; |
− | // '''you will need to enter the wordpress username and password in place of <user> and <pass>''' | + | // '''you will need to enter the wordpress username and password in place of <user> and <pass>, and wordpress site name in place of <wp_sitename>''' |
− | MariaDB [(none)]> grant all privileges on wp_sitename.* to '<user>'@'localhost' identified by '<pass>'; | + | MariaDB [(none)]> grant all privileges on <wp_sitename>.* to '<user>'@'localhost' identified by '<pass>'; |
MariaDB [(none)]> flush privileges; | MariaDB [(none)]> flush privileges; | ||
MariaDB [(none)]> exit | MariaDB [(none)]> exit | ||
Line 24: | Line 40: | ||
You will need the name of the database, username (use wpadmin as you have already granted it privileges) and the corresponding password: | You will need the name of the database, username (use wpadmin as you have already granted it privileges) and the corresponding password: | ||
+ | Edit the following lines: | ||
− | + | define('DB_NAME', '<wp_sitename>'); | |
− | + | define('DB_USER', <user>); | |
− | + | define('DB_PASSWORD', <pass>); | |
− | |||
− | define('DB_NAME', 'wp_sitename'); | ||
− | |||
− | define('DB_USER', | ||
− | |||
− | define('DB_PASSWORD', | ||
− | |||
− | |||
− | |||
− | |||
Everything else in this file should remain the same. | Everything else in this file should remain the same. |
Latest revision as of 14:49, 19 March 2024
This is how to create a WordPress site. Assumes you have permissions on the CS web server (see admins if not).
Add a site to the multisite instance
This is the simplest way to make a new site that is easily maintained.
Much of this requires admin permissions at either the WordPress level or the system level.
Note: where you see "sitename", substitute your site's name, which should be one token with letters and numbers only if possible.
- Add your chosen domain name as a CNAME for web dot cs dot earlham dot edu in DNS.
- As a Network Admin, go to Sites > Add New.
- It will default to cs.earlham.edu/sitename rather than sitename.cs.earlham.edu. Leave it that way for now.
- Use the email address associated with your CS user account as the admin address.
- After the site is created, click "Edit".
- Now use the sitename.cs.earlham.edu pattern as the "Site Address (URL)".
- Visit sitename.cs.earlham.edu to see if you can access the page.
Single-site WordPress Setup
1. cd to /var/www/ and unzip the file and name it “wordpress-sitename” (Example: wordpress-datascience)
>> 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>, and wordpress site name in place of <wp_sitename> 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: Edit the following lines:
define('DB_NAME', '<wp_sitename>'); define('DB_USER', <user>); define('DB_PASSWORD', <pass>);
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