注意:

The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.

Difference between revisions of "Package:Wordpress"

From Funtoo
Jump to navigation Jump to search
m (add media, and remove update warnings.)
m (fixed some consoles, fixed some permissions, fixed some nginx config info.)
Line 9: Line 9:
== Install ==
== Install ==
<console>###i## emerge wordpress</console>
<console>###i## emerge wordpress</console>
=== Nginx Server Configuration ===
Nginx does not respect the .htaccess files generated by wordpress.  To manually insert url rewrite rules:
{{file|name=/etc/nginx/sites-available/localhost|lang=|desc=nginx rewrite rules|body=
        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:
<console>###i## chown apache:apache /var/www/localhost/htdocs/wordpress/wp-content</console>
Fix permissions to enable themes, and plugins:
<console>###i## chown -R apache:apache /var/www/localhost/htdocs/wordpress/wp-admin/
###i## chown -R apache:apache /var/www/localhost/htdocs/wordpress/wp-includes/
###i## chown -R apache:apache /var/www/localhost/htdocs/wordpress/wp-content/</console>
==== Security ====
<code>/var/www/localhost/htdocs/wordpress/wp-config.php</code> contains plaintext sql database passwords.  we should change the permissions to lock this file down.
<console>###i## chmod 640 /var/www/localhost/htdocs/wordpress/wp-config.php
###i## chown apache:apache /var/www/localhost/htdocs/wordpress/wp-config.php</console>


=== MySQL ===
=== MySQL ===
{{fancywarning|default "changeme" passwords are insecure, change them!}}
{{warning|default "changeme" passwords are insecure, change them!}}


To create a database for wordpress to interact with:
To create a database for wordpress to interact with:
Line 64: Line 94:


Your shiny new blog is located @ http://localhost/wordpress/
Your shiny new blog is located @ http://localhost/wordpress/
=== 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:
<console>###i## chown apache:apache /var/www/localhost/htdocs/wordpress/wp-content</console>
Fix permissions to enable themes, and plugins:
<console>###i## chown -R apache:apache /var/www/localhost/htdocs/wordpress/wp-admin/</console>
<console>###i## chown -R apache:apache /var/www/localhost/htdocs/wordpress/wp-includes/</console>
<console>###i## chown -R apache:apache /var/www/localhost/htdocs/wordpress/wp-content/</console>


== Media ==
== Media ==

Revision as of 15:19, October 13, 2014

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.

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 password.

Administration & Use

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

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

Media