Package:Wordpress

From Funtoo
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Wordpress

   Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

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

root # 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:

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

Fix permissions to enable themes, and plugins:

root # chown -R apache:apache /var/www/localhost/htdocs/wordpress/wp-admin/
root # chown -R apache:apache /var/www/localhost/htdocs/wordpress/wp-includes/
root # 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.

root # chmod 640 /var/www/localhost/htdocs/wordpress/wp-config.php
root # 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:

root # 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 (php source code) - insert database information
// ** 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 (php source code) - add a salt
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