Install Nginx, PHP dan MySQL – Hosting WordPress Sendiri Part 2

Pandu Aji

Install Nginx PHP MySQL

Pada tutorial Hosting Wordpress Sendiri Part 1, aku membahas bagaimana membeli VPS, Melakukan konfigurasi keamanan dasar untuk VPS. Kumpulan tulisan dengan topik ini bisa kamu baca pada link di bawah ini

Berikut topik tulisan tentang hosting wordpress sendiri yang bisa kamu ikuti

Pada bagian kedua ini aku akan melakukan instalasi webserver yang menggunakan Nginx, PHP dan MySQL. Ketiga software tersebut digunakan untuk menjalankan website.

Kenapa nginx? Beradasarkan membaca berbagai postingan dan diskusi dengan beberapa teman. Web server ini memiliki performa cukup baik dibandingkan webserver lain. Apalagi untuk blog wordpress.

Kalau website landing page html cukup install Nginx aja sih. Tapi kalau menggunakan php dan database ya harus install PHP dan MySQL. Nggak perlu pake lama lagi, kamu bisa langsung ikuti langkah-langkah di bawah ini yak!

Install Nginx

Nginx secara default sudah ada di software manager ubuntu. Kita bisa dengan mudah install menggunakan apt-get. Namun sayangnya sofware ini seringkali nggak update. Karena hanya menampilkan versi stabil.

Oleh karena itu lebih baik install Nginx dari repository yang up to date terus. Karena sesekali ada update minor baik untuk fitur, perbaikan bugs maupun update keamanan.

Caranya dengan menjalankan perintah

sudo add-apt-repository ppa:nginx/development -y
sudo apt-get update
sudo apt-get install nginx -y

Setelah proses install selesai, kamu bisa buka ip server di browser dan akan mendapatkan tampilan seperti gambar di bawah ini

Install Nginx Berhasil

Install PHP-FPM

Seperti pada Nginx, PHP secara default ada di ubuntu repository, namun karena jarang update, terkadang lebih nyaman menggunakan php yang senantiasa up to date.

sudo add-apt-repository ppa:ondrej/php -y
sudo apt-get update

Kemudian install php 7.3 dengan perintah

sudo apt-get install php7.3-fpm php7.3-common php7.3-mysql php7.3-xml php7.3-xmlrpc php7.3-curl php7.3-gd php7.3-imagick php7.3-cli php7.3-dev php7.3-imap php7.3-mbstring php7.3-opcache php7.3-redis php7.3-soap php7.3-zip -y

Setelah proses selesai instalasi, cek apakah sudah benar terinstall dengan cara

php-fpm7.3 -v

Maka akan muncul

Install php7.3

Konfigurasi PHP

Sebelum melanjutkan instalasi database, ada baiknya melakukan konfigurasi default php supaya nanti website yang akan kita install di sini tidak mengalami kendala.

Aku akan menggunakan wordpress pada server ini, maka berikut beberapa pengaturan pada php.

sudo nano /etc/php/7.3/fpm/php.ini

Gunakan CTRL + W untuk mencari upload_max_filesize dan post_max_size. Aku sih mengubahnya menjadi 64M

Sebelum restart php, alangkah baiknya untuk cek dulu apakah ada kesalahan penulisan syntax dengan cara menjalankan perintah

sudo php-fpm7.3 -t
Settings PHP

Langkah selanjutnya adalah merestart php dengan perintah

sudo service php7.3-fpm restart

Install MySQL

MySQL merupakan SQL database management system. Alias software pegelola database SQL. Selain MySQL ada MariaDB yang juga cukup populer.

Namun karena nggak ada perbedaan yang mencolok, akhirnya aku manut apa kata Agung temanku, tetap menggunakan MySQL.

Install MySQL dengan cara

sudo apt-get install mysql-server -y

Seharusnya setelah install akan muncul prompt untuk mengisi root password database. Kalau nggak muncul, jalankan perintah

sudo mysql_secure_installation

Maka kamu akan diminta untuk memasukkan password untuk user root. Gunakan password yang kuat, biar aman. Jangan sampai passsword lupa dan hilang yak. Selain itu ada beberapa konfigurasi lain yang bisa kamu ubah. Tinggal jawab y dan n aja.

Hapus Default Server Block

Langkah terakhir sebelum menutup sesi kedua ini adalah dengan menghapus default server block di nginx. Sehingga ketika ada yang membuka ip server di browser tidak akan muncul halaman welcome nginx. tetapi error response code 444.

Pertama yang kita hapus adalah menjalankan perintah

sudo rm /etc/nginx/sites-available/default
sudo rm /etc/nginx/sites-enabled/default

Kemudian buka nginx.conf dengan

sudo nano /etc/nginx/nginx.conf

Cari baris yang berisi

include /etc/nginx/sites-enabled/*;

Kemudian tambahkan kode berikut di bawahnya

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 444;
}

Lihat gambar di bawah ini kalau bingung dimana harus paste kode di atas.

Settings Nginx

Kemudian cek apakah ada error pada konfigurasi nginx dengan menjalankan perintah

sudo nginx -t

Kalau semua baik-baik saja, langsung aja restart nginx dengan perintah

sudo service nginx restart

Sekarang kalau kamu buka ip server di browser akan mendapati halaman server error!

Demikian bagian dua yang meliputi install Nginx webserver, PHP dan MySQL. Pada step lanjutannya, aku akan menulis bagaimana install website wordpress hingga bisa diakses oleh siapapun.

Apabila ada bagian yang kurang dimengerti, langsung tulis di kolom komentar aja. Kalaupun menurutmu ada kesalahan dalam penulisan artikel juga bisa tulis dikolom komentar. Siapa tahu ada langkah yang terlewat ketika menulis tutorial ini.

Bagikan:

Related Post

10 responses to “Install Nginx, PHP dan MySQL – Hosting WordPress Sendiri Part 2”

  1. Ahsan Avatar
    Ahsan

    Ditunggu tutorial lengkapnya mas, mau coba vps juga
    Dirasa shared hosting masih kurang maksimal loading web nya

    1. Pandu Aji Avatar
      Pandu Aji

      sudah ditulis semua sih, tinggal nunggu jadwal publish aja. hehe

  2. andi Avatar
    andi

    nginx: [emerg] unexpected end of file, expecting “}” in /etc/nginx/nginx.conf:92
    nginx: configuration file /etc/nginx/nginx.conf test failed

    kalau gitu error apa gimana om?

    1. Pandu Aji Avatar
      Pandu Aji

      Lha itu sudah di tulis bagian atas, permasalahan tanda baca } pada file nginx.conf baris ke 92

      1. dika Avatar
        dika

        oh ya sori om, gak ngerti aku cuma ngikut2 aja.
        Itu muncul abis tes setelah nambahin ini:
        server {
        listen 80 default_server;
        listen [::]:80 default_server;
        server_name _;
        return 444;
        }

        salahnya dimana ya?

        1. Pandu Aji Avatar
          Pandu Aji

          nggak bisa sepotong-sepotong. kudu dilihat isi 1 file utuh. ada satu } yang mungkin kurang / kehapus / kelebihan.

          1. dika Avatar
            dika

            kalau balikin ke semula bisa om? Hapus Default Server Block memang apa sih om? Gak paham juga aku

          2. Pandu Aji Avatar
            Pandu Aji

            coba aja. ada yang namanya block server di nginx.conf . gimana ya jelasinnya. bingung juga saya

  3. dika Avatar
    dika

    Yang 444 itu untuk jaga-jaga keamanan vps aja jadi orang gak tau ada web server di vps itu.
    Tampilannya doang diubah. Gitu gak ya? Gak wajib berarti ya?
    Bingung aku udah googling2 juga, lebih susah daripada artikel ini.

    1. Pandu Aji Avatar
      Pandu Aji

      iya, nggak wajib ini, cuma buat jaga-jaga aja

Leave a Comment