Package:Wordpress

Revision as of 08:57, November 21, 2014 by Threesixes (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

www-apps/wordpress


Source Repository:Gentoo Portage Tree
Homepage

Summary: Wordpress php and mysql based content management system (CMS)

Wordpress

Wordpress is a blog web-server-stack application content management system. Wordpress powers much of the internet, and can be converted into several other systems. Wordpress can be a blog, forum, bug tracker, social media platform, or even a web store. There are several plugins available, and it has a large community backing it.

Install

# emerge wordpress

Nginx Server Configuration

Nginx does not respect the .htaccess files generated by wordpress. To manually insert url rewrite rules:

/etc/nginx/sites-available/localhost: nginx rewrite rules
location /wordpress {
                try_files $uri $uri/ /wordpress/index.php?$args;
        }

More information can be found here: http://wiki.nginx.org/WordPress

Permission Adjustments

Note

if using nginx change permissions to nobody:nobody instead of apache:apache

Plugins, Themes & Images

Wordpress needs some directories to be run under the webserver or php-fpm user for uploading images, and installing themes & plugins.

Fix permissions to enable uploading content such as banners:

# chown apache:apache /var/www/localhost/htdocs/wordpress/wp-content

Fix permissions to enable themes, and plugins:

# chown -R apache:apache /var/www/localhost/htdocs/wordpress/wp-admin/
# chown -R apache:apache /var/www/localhost/htdocs/wordpress/wp-includes/
# chown -R apache:apache /var/www/localhost/htdocs/wordpress/wp-content/

Security

/var/www/localhost/htdocs/wordpress/wp-config.php contains plaintext sql database passwords. we should change the permissions to lock this file down.

# chmod 640 /var/www/localhost/htdocs/wordpress/wp-config.php
# chown apache:apache /var/www/localhost/htdocs/wordpress/wp-config.php

MySQL

Warning

default "changeme" passwords are insecure, change them!

To create a database for wordpress to interact with:

# mysql -u root -p
mysql> CREATE DATABASE IF NOT EXISTS `wordpress` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
mysql> CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'changeme';
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `wordpress`.* TO 'wordpress'@'localhost' IDENTIFIED BY 'changeme';
mysql> \q
/var/www/localhost/htdocs/wordpress/wp-config.php: insert database information (php source code)
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wordpress');
/** MySQL database password */
define('DB_PASSWORD', 'changeme');
/** 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', '');

acquire your own salts and insert them into your configuration file. https://api.wordpress.org/secret-key/1.1/salt/

/var/www/localhost/htdocs/wordpress/wp-config.php: add a salt (php source code)
define('AUTH_KEY',         '5%#gO!G+miM;(Jt8U^12SAh');
define('SECURE_AUTH_KEY',  'hJ~Hi:(R/:^l$M;(Vfp:+04$A');
define('LOGGED_IN_KEY',    'f^%jl;[9~8],LA^Eq]-5*');
define('NONCE_KEY',        '&IX,NkKM;M;(Jt(Jt8U^j;(m7');
define('AUTH_SALT',        'TX^29j/P7[q0GhM;(Jt8U^-ug&mh');
define('SECURE_AUTH_SALT', '<p@0$;jThph,2M6e8i<UAW=');
define('LOGGED_IN_SALT',   'O0TY<>%eIAs/=;O&7@LkhxduYhg6');
define('NONCE_SALT',       'VQ^-BR7YM;(Jt8U^D4ZRMY#[');

Database and database user are "wordpress" and passwords are what you set in your mysql database generation step. (changeme fields)

5 minute installer

Point your browser @ http://localhost/wordpress/

Name your website, and make a default administrator username, and password.

Important

Wordpress has hidden admin levels assigned to the first registered account. Make sure you leave it as a generic admin account.

Administration & Use

Administer your WordPress @ http://localhost/wordpress/wp-admin/

Your shiny new blog is located @ http://localhost/wordpress/

Your new blogs rss feed is located @ http://localhost/wordpress/feed/

Suggested Themes

  • Responsive

Suggested Plugins

  • Add Meta Tags
  • Disqus Comment System
  • Google XML Sitemaps
  • Share Buttons by AddToAny
  • WooCommerce
  • Wordfence Security
  • YouTube widget responsive

Media