Newer
Older
Secure-Wordpress-with-Cloudflare / README.md
Ilazog on 8 Mar 2020 5 KB Update README.md
  1. Secure-Wordpress-with-Cloudflare
  2. ===============
  3.  
  4. Repositori untuk melakukan instalasi dan konfigurasi wordpress dengan menggunakan keamanan SSL dari CloudFlare
  5.  
  6. ## Task
  7. Instalasi dan Konfigurasi:
  8. * Web Server NGINX
  9. * Database Server MariaDB 10.1.44
  10. * PHP 7.2
  11.  
  12. Ketentuan pengerjaan:
  13. * Menggunakan VPS dengan OS centos7
  14. * Menggunakan subdomain dari domain utama (wp.domain.tld)
  15. * Menggunakan mangement DNS di CloudFlare
  16. * SSL yang digunakan ialah SSL dari CloudFlare
  17.  
  18. ## Langkah 1 Instalasi dan Konfigurasi LEMP
  19. ### Step 1: Instalasi Web Server Nginx
  20.  
  21. Untuk melakukan instalasi Nginx yang pertama adalah melakukan remote ke IP VPS dengan menggunakan SSH
  22.  
  23.  
  24. > ```$ ssh root@ipaddress```
  25.  
  26. Setelah berhasil login ke VPS, lakukan pembaharuan paket/repository dari system operasi Centos7 dengan perintah sebagai berikut:
  27.  
  28.  
  29. > ```#yum -y update```
  30.  
  31. Lakukan instalasi paket epel-release sebelum melakukan instalasi paket pada OS centos7 dengan memasukan perintah berikut:
  32.  
  33. > ```# yum install epel-release -y```
  34.  
  35. Setelah paket epel-release selesai diinstall selanjutnya ialah instalasi webserver Nginx dan biasanya instalasi ini memakan waktu 10 sd 20 second, untuk melakukan instalasi Nginx masukan perintah berikut:
  36.  
  37. > ```# yum install nginx -y```
  38.  
  39. Selanjutnya lakukan enable direktori dan file webserver Nginx, berikut perintahnya:
  40.  
  41. > ```# systemctl enable nginx```
  42.  
  43. Setelah direktori dan file webserver Nginx dienable, jalankan service Nginx dengan perintah berikut:
  44.  
  45. > ```# systemctl start nginx```
  46.  
  47. Apabila paket webserver Nginx telah selesai diinstal pastikan service Nginx berjalan dengan status Running.
  48.  
  49. > ```
  50. # systemctl status nginx
  51. ● nginx.service - The nginx HTTP and reverse proxy server
  52. Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
  53. Active: active (running) since Sun 2020-03-08 16:33:22 WIB; 1h 29min ago
  54. Process: 10899 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  55. Process: 10896 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  56. Process: 10895 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
  57. Main PID: 10901 (nginx)
  58. CGroup: /system.slice/nginx.service
  59. ├─10901 nginx: master process /usr/sbin/nginx
  60. └─10902 nginx: worker process```
  61.  
  62.  
  63. ### Step 2: Instalasi Database Server MariaDB 10.1.44
  64.  
  65. Setelah webserver Nginx telah diinstall selanjutnya lakukan instalasi database server mariaDB 10.1.44 dan langkah pertama ialah menambahkan repository untuk mariaDB.
  66.  
  67. > ```# vi /etc/yum.repos.d/mariadb.repo```
  68.  
  69. Masukan perintah berikut:
  70.  
  71. > ```
  72. [mariadb]
  73. name = MariaDB
  74. baseurl = http://yum.mariadb.org/10.1/centos7-amd64
  75. gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
  76. gpgcheck=1```
  77.  
  78. Setelah menambahkan repo mariaDB, lakukan instalasi mariaDB dengan perintah berikut:
  79.  
  80. > ```# yum install mariadb-server```
  81.  
  82. Selanjutnya lakukan enable direktori dan file database mariaDB, berikut perintahnya:
  83.  
  84. > ```# systemctl enable mariadb```
  85.  
  86. Setelah direktori dan file database mariaDB dienable, jalankan service mariaDB dengan perintah berikut:
  87.  
  88. > ```# systemctl start mariadb```
  89.  
  90. Apabila paket database server telah selesai diinstall pastikan service mariaDB berjalan dengan status Running.
  91.  
  92. > ```
  93. # systemctl status mariadb
  94. ● mariadb.service - MariaDB 10.1.44 database server
  95. Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
  96. Drop-In: /etc/systemd/system/mariadb.service.d
  97. └─migrated-from-my.cnf-settings.conf
  98. Active: active (running) since Sat 2020-03-07 20:09:38 WIB; 22h ago
  99. Docs: man:mysqld(8)
  100. https://mariadb.com/kb/en/library/systemd/
  101. Process: 29925 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  102. Process: 29885 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
  103. Process: 29883 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  104. Main PID: 29897 (mysqld)
  105. Status: "Taking your SQL requests now..."
  106. CGroup: /system.slice/mariadb.service
  107. └─29897 /usr/sbin/mysqld
  108. ```
  109.  
  110. ### Step 3: Instalasi PHP 7.2
  111.  
  112. Setelah melakukan instalasi database server selanjutnya ialah install PHP versi 7.2 dan langkah pertama adalah mengambil dan menginstall repository untuk PHP versi 7 keatas.
  113.  
  114. > ```# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm```
  115.  
  116. Setelah repository untuk PHP versi 7 diinstall, langkah selanjutnya adalah enable remi/repository untuk PHP 7.2
  117.  
  118. > ```# yum-config-manager --enable remi-php72```
  119.  
  120. Selanjutnya lakukan instalasi PHP 7.2 beserta paket php yang akan digunakan
  121. > ```# yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd```
  122.  
  123. Lihat versi dan pastikan service PHP berjalan
  124.  
  125. > ```
  126. # php -v
  127. PHP 7.2.28 (cli) (built: Feb 18 2020 11:07:04) ( NTS )
  128. Copyright (c) 1997-2018 The PHP Group
  129. Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
  130. with Zend OPcache v7.2.28, Copyright (c) 1999-2018, by Zend Technologies
  131. ```
  132.  
  133. ## Langkah 2 Konfigurasi CMS wordpress
  134. ### Step 1: Membuat folder untuk meletakan root folder CMS wordpress
  135.  
  136. > ```
  137. # cd /home
  138. home# mkdir A
  139. home# cd A/
  140. home/A#
  141. ```
  142.  
  143. Folder untuk mendownload dan menyimpan folder dan file CMS Wordperss
  144.  
  145. ### Step 2: Download dan Extract File CMS Wordpress
  146.  
  147. Setelah folder untuk CMS wordpress selesai dibuat, selanjutnya adalah melakukan instalasi wget dan unzip .
  148.  
  149. > ```# yum install wget unzip -y```
  150.  
  151. Unduh File CMS wordpress
  152.  
  153. > ```# wget http://wordpress.org/latest.tar.gz```
  154.  
  155. Extract File CMS wordpress
  156.  
  157. > ```# tar xf latest.tar.gz```
  158.  
  159. Beri hak akses dan hak kepemilikan untuk folder A
  160.  
  161. > ```
  162. # chown -R nginx:nginx /home/A/
  163. # chmod -R 755 /home/A/
  164. ```
  165.  
  166. ### Step 3: Konfigurasi File PHP dan menetukan PHP socket
  167.  
  168. > ```# vi /etc/php-fpm.d/www.conf```
  169.  
  170. Rubah user dan grub menjadi nginx dan buat php socket
  171.  
  172. ![GitHub Logo](http://url-Anda.com)