5 min read

Cloud Server Wordpress - Virtual Host Apache di Ubuntu 18.04

Iman Sugirman

Cloud Server Wordpress - Virtual Host Apache di Ubuntu 18.04

Server web Apache adalah cara paling populer untuk menyajikan konten web di internet. Ini menyumbang lebih dari setengah dari semua situs web aktif di internet dan sangat kuat dan fleksibel.

Apache memecah fungsionalitas dan komponennya menjadi unit-unit individual yang dapat dikustomisasi dan dikonfigurasi secara independen. Unit dasar yang menggambarkan situs atau domain individu disebut host virtual.

Penunjukan ini memungkinkan administrator untuk menggunakan satu server untuk meng-host beberapa domain atau situs dari satu antarmuka atau IP dengan menggunakan mekanisme yang cocok. Ini relevan bagi siapa saja yang ingin meng-host lebih dari satu situs dari satu VPS.

Setiap domain yang dikonfigurasi akan mengarahkan pengunjung ke direktori tertentu yang menyimpan informasi situs itu, tidak pernah menunjukkan bahwa server yang sama juga bertanggung jawab untuk situs lain. Skema ini dapat diperluas tanpa batas perangkat lunak apa pun asalkan server Anda dapat menangani beban.

Dalam panduan ini, kami akan memandu Anda bagaimana mengatur host virtual Apache pada Ubuntu 18.04 VPS. Selama proses ini, Anda akan belajar bagaimana menyajikan konten yang berbeda untuk pengunjung yang berbeda tergantung pada domain yang mereka minta.

Prasyarat

Sebelum Anda memulai tutorial ini, Anda harus membuat pengguna non-root seperti yang dijelaskan pada langkah 1-4 di sini.

Anda juga harus memasang Apache untuk dapat mengerjakan langkah-langkah ini. Jika Anda belum melakukannya, Anda bisa memasang Apache di server Anda melalui apt-get:

sudo apt-get update
sudo apt-get install apache2

Setelah langkah-langkah ini selesai, kita bisa mulai.

Untuk keperluan panduan ini, konfigurasi kami akan membuat host virtual untuk example.com dan lainnya untuk test.com. Ini akan dirujuk di seluruh panduan, tetapi Anda harus mengganti domain atau nilai Anda sendiri saat mengikuti.

Untuk mempelajari cara mengatur nama domain Anda dengan DigitalOcean, ikuti tautan ini. Jika Anda tidak memiliki domain untuk dimainkan, Anda dapat menggunakan nilai dummy.

Kami akan menunjukkan cara mengedit file host lokal Anda nanti untuk menguji konfigurasi jika Anda menggunakan nilai dummy. Ini akan memungkinkan Anda untuk menguji konfigurasi Anda dari komputer di rumah, meskipun konten Anda tidak akan tersedia melalui nama domain untuk pengunjung lain.

Buat Struktur Direktori

Root directory dari apache sendiri dengan posisi paling atas dan setiap user yang akan dibuatkan directorynya dibawah /var/www dan di dalam setiap user directory akan kita buatkan point directorynya di public_html

sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html

Permission untuk User Directory

Sekarang kami memiliki struktur direktori untuk file kami, tetapi mereka dimiliki oleh pengguna root kami. Jika kami ingin pengguna reguler kami dapat memodifikasi file di direktori web kami, kami dapat mengubah kepemilikan dengan melakukan ini:

sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/test.com/public_html

Variabel $USER akan mengambil nilai dari pengguna yang saat ini Anda masuki saat Anda menekan Enter. Dengan melakukan ini, pengguna reguler kami sekarang memiliki subdirektori public_html tempat kami menyimpan konten kami.

sudo chmod -R 755 /var/www

Membuat Page Demo di Setiap Domain

Buat file html di setiap user :

nano /var/www/example.com/public_html/index.html

Dalam file ini, buat dokumen HTML sederhana yang menunjukkan situs itu terhubung. File saya terlihat seperti ini:

<html>
  <head>
    <title>Welcome to Example.com!</title>
  </head>
  <body>
    <h1>Success!  The example.com virtual host is working!</h1>
  </body>
</html>

Simpan dan tutup file ketika Anda selesai.

Kami dapat menyalin file ini untuk digunakan sebagai dasar untuk situs kedua kami dengan mengetik:

cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html

Dan edit file yang ada di domain test.com :

nano /var/www/test.com/public_html/index.html

Edit dengan menjadi seperti ini untuk membedakan :

<html>
  <head>
    <title>Welcome to Test.com!</title>
  </head>
  <body> <h1>Success!  The test.com virtual host is working!</h1>
  </body>
</html>

Membuat Config Masing-Masing Virtual Host

Membuat file config untuk domain example.com :

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

Edit untuk Config Virtual host example.com :

sudo nano /etc/apache2/sites-available/example.com.conf

File akan terlihat seperti ini (Saya sudah menghapus komentar di sini untuk membuat file lebih mudah didekati):

Default
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Akan kita ubah menjadi
<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Terapkan Config di Domain Lainnya

Copy config dari example.com :

sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf

Edit file config tadi dengan nano :

sudo nano /etc/apache2/sites-available/test.com.conf

Ubah menjadi seperti ini :

<VirtualHost *:80>
    ServerAdmin admin@test.com
    ServerName test.com
    ServerAlias www.test.com
    DocumentRoot /var/www/test.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Aktifkan Fungsi Virtual Host

Sekarang kita telah membuat file host virtual kita, kita harus mengaktifkannya. Apache menyertakan beberapa alat yang memungkinkan kita melakukan ini.

Kita dapat menggunakan alat a2ensite untuk mengaktifkan setiap situs kita seperti ini:

sudo a2ensite example.com.conf
sudo a2ensite test.com.conf

Jika anda mau menonaktifkan Virtual host tinggal masukan perintah :

sudo a2dissite 000-default.conf

Jangan lupa untuk selalu restart apachenya di setiap melakukan perubahan :

sudo systemctl restart apache2

Pengaturan File Localhost

Jika Anda belum pernah menggunakan nama domain sebenarnya yang Anda miliki untuk menguji prosedur ini dan telah menggunakan beberapa contoh domain, Anda setidaknya dapat menguji fungsionalitas proses ini dengan memodifikasi sementara file host di komputer lokal Anda.

sudo nano /etc/hosts

Disetiap penambahan Domain, maka kita juga harus menambahkan baris untuk membuat host domainnya. Ubah menjadi seperti ini :

127.0.0.1   localhost
127.0.1.1   guest-desktop
111.111.111.111 example.com
111.111.111.111 test.com

Dan sekarang silahkan lihat untuk kedua domain tersebut, buka masing-masing domain di browser dengan akses example.com dan test.com