29 Apr 2015

Instalasi wordpress multisite menggunakan nginx, php-fpm di centos 6

kali ini saya akan membahas tentang instalasi wordpress pada server centos 6 yang menggunakan webserver nginx dan pfp-fpm.

Untuk instalasi nginx, php, php-fpm dan mysql bisa di lihat pada blog saya sebelumnya : https://hanangpriambodo.wordpress.com/2015/04/22/install-nginx-mysql-php-di-centos-7/

Untuk instalasi mysql, pada centos 6 bisa menggunaka mysql-server

#yum install mysql mysql-server -y

Sebelum instalasi wordpress, buat dahulu database di dalam mysql

#mysql -u root -p
mysql>CREATE DATABASE hanang;
mysql>GRANT ALL PRIVILEGES ON hanang.* TO 'hanang'@'localhost' IDENTIFIED BY 'hanang' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
mysql>exit;

Tahapan selanjutnya, download wordpress pada site resminya https://wordpress.org/latest.tar.gz

Kemudian Extract wordpress

#tar -zxvf latest.tar.gz

kemudian akan ter ekstrak dengan folder wordpress.

Copy file yang ada di dalam wordpress, yaitu file wp-config-sample.php ke wp-config.php

#cd wordpress
#cp wp-config-sample.php wp-config.php

edit file wp-config.php yang dibawa ini menjadi data mysql yang ada pada server anda

/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');

/** MySQL database username */
define('DB_USER', 'username_here');

/** MySQL database password */
define('DB_PASSWORD', 'password_here');

/** MySQL hostname */
define('DB_HOST', 'localhost');

Misalkan data mysql saya :

Host = localhost

User = hanang

password = hanang

database = hanang

Maka wp-config diedit seperti di bawah ini

/** The name of the database for WordPress */
define('DB_NAME', 'hanang');

/** MySQL database username */
define('DB_USER', 'hanang');

/** MySQL database password */
define('DB_PASSWORD', 'hanang');

/** MySQL hostname */
define('DB_HOST', 'localhost');

simpan dan keluar.

kemudian ubah hak akses folder dan file yang sebelumnya root:root menjadi nginx:nginx

#chown -R nginx:nginx /usr/local/wordpress

Kemudian edit file default.conf pada folder /etc/nginx/conf.d/

isi seperti di bawah ini.

Catatan untuk baris root isi path folder wordpress anda berada, saya contohkan folder wordpress saya ada di /usr/local/wordpress, maka baris root isikan path folder tersebut

server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
#root /usr/share/nginx/html;
root /usr/local/wordpress;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ .php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ {
#root html;
#root /usr/share/nginx/html;
root /usr/local/wordpress;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /usr/local/wordpress$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /.ht {
# deny all;
#}
}

simpan dan keluar.

Selanjutnya edit file php.ini pada folder /etc/

edit pada baris cgi.fix_pathinfo menjadi

cgi.fix_pathinfo=0

simpan dan keluar.

Kemudian edit user dan group pada file ‘www.conf’ pada folder /etc/php-fpm.d/ yang tadinya apache menjadi nginx

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

simpan dan keluar

kemudian ketik perintah ini

# setenforce Permissive
# chcon -Rt httpd_sys_content_t /path/to/www

kemudian restart nginx, php-fpm

# service nginx restart
# service php-fpm restart

Akses server menggunakan browser http://IP-ADDRESS

Jika keluar setup wordpress ikuti aja.

wpi5

wpi6

instalasi selesai

selanjutnnya sekarang kita setting multisite wordpressnya. untuk setting multisite ada berapa pengeditan pada wp-config.

Langkah pertama yaitu menambahkan script ini :

/* Multisite settings */
define( 'WP_ALLOW_MULTISITE', true );

tambah kan script di atas sebelum script ini

/* That's all, stop editing! Happy blogging. */

simpan dan keluar

Kemudan buka admin wordpress anda pada browser anda, dan pilih menu Tools > Network Setup

Kemudian bila multisite menginginkan subdomain seperti subweb1.web.com pilih yang sub-domains, atau bila menginginkan sub directory sepertiweb.com/subweb1 pilih yang sub-directories.Lihat pada gambar dibawah ini

Screenshot from 2015-04-28 05:19:57

gambar di atas saya set menjadi sub-domains.

catatan : apabila anda memilih subdomain maka di dns server anda tambahkan namednya seperti ini *.web.com

Setelah di install wordpressnya, edit wp-config.php lagi tambahkan script berikut di atas script yang anda tambahkan sebelumnya :

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'public.blog.telkomuniversity.ac.id');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

simpan dan keluar.

kemudian buat file .htaccess di dalam folder wordpress anda.

isikan dengan script berikut

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*.php)$ $1 [L]
RewriteRule . index.php [L]

simpan dan keluar

kemudian login kembali ke blog wordpress anda.

Untuk mengakses network admin, lakukan seperti gambar di bawah ini

network-admin-link

Network admin ini di gunakan untuk membuat user, site, menginstall thema dan plugin.

Jika menu network admin sudah ada, maka configurasi multisite berhasil di lakukan.

Sekian artikel ini semoga bermanfaat.

Leave a Reply