Bagaimana jika Anda perlu menonaktifkan situs web, tetapi Anda tidak yakin bagaimana caranya? Ini lebih mudah dari yang Anda kira. Sebelum memulai, ingatlah hal-hal berikut saat membaca artikel ini:
-
Blok server virtual host (vhost) Anda mungkin memiliki judul selain domain.com.conf . Misalnya, Anda mungkin menggunakan httpd.conf atau ssl.conf . Dalam hal ini, ganti domain.com.conf dengan nama file konfigurasi Anda.
-
Artikel ini menggunakan vhost atau blok server di beberapa contoh yang menggunakan port 80 dan bukan Secure Sockets Layer (SSL). Perhatikan bahwa langkah-langkah ini tidak berbeda jika vhost atau blok server Anda adalah vhost atau blok server berkemampuan SSL yang menggunakan port 443. Langkah-langkahnya sama.
Sistem operasi Ubuntu dan Apache
Mari kita mulai dengan yang termudah. Ubuntu® hadir dengan dua perintah khusus untuk mengelola vhost di Apache®. Untuk mengaktifkan vhost, gunakan perintah berikut:
sudo a2ensite /etc/apache2/sites-available/domain.com.conf
Ketika Anda memahami apa arti kumpulan huruf dan angka di a2ensite
, maka lebih mudah untuk mengingat cara mengaktifkan atau menonaktifkan vhost Apache di Ubuntu.
Berikut rincian perintahnya:
- a2 :apache2 (apa yang disebut Ubuntu sebagai Apache)
- id :aktifkan
- situs :host virtual situs web
Untuk menonaktifkan situs web Anda, gunakan a2dissite
perintah, seperti yang ditunjukkan pada contoh berikut:
sudo a2dissite /etc/apache2/sites-enabled/domain.com.conf
Perintah ini memiliki komponen berikut:
- a2 :apache2 (apa yang disebut Ubuntu sebagai Apache)
- dis :nonaktifkan
- situs :host virtual situs web
Perhatikan juga perbedaan jalur direktori antara a2ensite
dan a2dissite
. Bila Anda ingin mengaktifkan virtual host untuk Apache di Ubuntu, Anda melakukannya dari sites-available direktori. Bila Anda ingin menonaktifkan virtual host di Ubuntu, Anda melakukannya dari situs yang diaktifkan direktori.
Setelah Anda menonaktifkan virtual host, gunakan perintah berikut untuk memverifikasi sintaks konfigurasi Apache Anda:
apache2ctl -t
Tanggapan yang diharapkan:
Syntax OK
Untuk memulai ulang atau memuat ulang Apache, jalankan salah satu perintah berikut:
service apache2 restart
atau
service apache2 reload
restart
menurunkan Apache sepenuhnya, dan reload
memulai layanan Apache baru dengan mulus sebelum menghentikan layanan asli. Biasanya, Anda ingin memuat ulang daripada memulai ulang jika ada opsi.
Sistem operasi Ubuntu dan Nginx
Menonaktifkan blok server Nginx® (yang disebut Nginx sebagai vhosts) sedikit berbeda. Nginx menggunakan symlink untuk mengaktifkan atau menonaktifkan blok server. Apache vhosts juga dapat menggunakan symlink, tetapi a2ensite
dan a2dissite
tidak bekerja untuk Nginx.
Untuk menonaktifkan blok server di Nginx di Ubuntu, Anda harus menghapus symlink antara situs yang diaktifkan dan situs-tersedia , seperti yang ditunjukkan pada contoh berikut:
sudo rm /etc/nginx/sites-enabled/domain.com.conf
Perintah menghapus symlink untuk situs web Anda, domain.com . Gunakan perintah berikut untuk memverifikasi sintaks Nginx:
nginx -t
Tanggapan yang diharapkan:
nginx: the configuration file <file-path> syntax is ok
nginx: configuration file <file-path> test is successful
Jalur file Anda ditampilkan di tempat penampung
service nginx reload
atau
service nginx restart
Seperti sebelumnya, setiap kali Anda memiliki opsi untuk melakukannya, gunakan reload
daripada restart
sehingga Anda tidak mengganggu situs web lain yang Anda miliki.
Catatan :Jika Anda menjalankan php-fpm
, Anda juga perlu memulai ulang layanan tersebut, dengan menggunakan perintah berikut:
service php-fpm restart
CentOS dan Apache
Menonaktifkan host virtual di Apache di CentOS® lebih rumit karena CentOS tidak memiliki perintah yang mudah digunakan. Di CentOS, Anda secara manual perlu mengomentari vhost yang ingin Anda nonaktifkan.
Berikut adalah contoh domain.com vhost untuk Apache di CentOS:
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/vhosts/domain.com/public
</VirtualHost>
Temukan host virtual ini dengan menggunakan perintah berikut:
httpd -S | grep domain.com
Output menunjukkan lokasi virtual host, yang mirip dengan output berikut:
/etc/httpd/vhost.d/domain.com.conf
Tergantung pada pengaturan khusus Anda, output sebelumnya mungkin terlihat berbeda. Namun, jalur yang Anda cari harus diakhiri dengan cara yang sama dengan domain.com.conf .
Setelah Anda memiliki lokasi virtual host, buka file konfigurasi vhost dengan editor teks favorit Anda. Berikut adalah dua contoh menggunakan vim
dan nano
:
sudo vim /etc/httpd/vhost.d/domain.com.conf
atau
sudo nano /etc/httpd/vhost.d/domain.com.conf
Edit file konfigurasi dan tambahkan tanda pound (#) di depan setiap baris untuk entri vhost. Jika Anda menggunakan vim
, masukkan Sisipkan modus dulu. Konfigurasi vhost Anda sekarang akan terlihat seperti ini:
#<VirtualHost *:80>
# ServerName domain.com
# ServerAlias www.domain.com
# DocumentRoot /var/www/vhosts/domain.com/public
#</VirtualHost>
Simpan file dan keluar dari editor teks.
Sekarang, Anda perlu memeriksa sintaks Apache dengan perintah berikut:
httpd -t
Tanggapan yang diharapkan:
Syntax OK
Terakhir, muat ulang atau mulai ulang Apache. Jika Anda menggunakan CentOS 7 atau yang lebih baru, Anda dapat menggunakan systemctl
untuk perintah ini. Jika tidak, gunakan service
. Contoh berikut menunjukkan kedua perintah:
Menggunakan service
:
sudo service httpd reload
atau
sudo service httpd restart
Menggunakan systemctl
:
sudo systemctl reload httpd
atau
sudo systemctl restart httpd
Catatan :Sementara systemctl
hanya berfungsi di CentOS 7 atau yang lebih baru, versi tersebut juga mendukung service
, jika itu lebih mudah. Sistem tertaut ke systemctl
secara otomatis.
Proses yang sama ini juga berfungsi untuk SSL, port 443, vhosts.
Seperti sebelumnya, jika Anda memiliki opsi, gunakan reload
daripada restart
.
CentOS dan Nginx
Nginx mengacu pada vhosts sebagai blok server. Gunakan proses yang sama untuk mengomentari blok server untuk Nginxin CentOS yang Anda gunakan untuk Apache.
Namun, pertama-tama, kita perlu menemukan blok server yang ingin kita nonaktifkan. Anda melakukannya dengan perintah berikut:
nginx -T | grep domain.com
Sekali lagi, cari jalur yang berakhiran .conf untuk domain Anda. Tampilannya mirip dengan contoh berikut:
/etc/nginx/conf.d/domain.com.conf
Sekarang, buka file tersebut dengan editor teks favorit Anda dengan menggunakan salah satu perintah berikut:
sudo vim /etc/nginx/conf.d/domain.com.conf
atau
sudo nano /etc/nginx/conf.d/domain.com.conf
File terlihat mirip dengan contoh berikut:
server {
listen 80;
server_name domain.com www.domain.com;
access_log /var/log/nginx/domain.com.access.log;
error_log /var/log/nginx/domain.com.error.log;
root /var/www/domain.com/httpdocs;
location / {
index index.html index.htm index.php;
try_files $uri =404;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000; #this means php-fpm will run on a port
# fastcgi_pass unix:/run/php-fpm/domain.com.sock; or you could have php-fpm running on a socket
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/domain.com$fastcgi_script_name;
}
}
Anda harus mengomentari seluruh blok server ini. Jika Anda menggunakan vim
, pastikan Anda berada di Sisipkan modus dulu. Blok server Anda akan terlihat seperti ini:
#server {
# listen 80;
# server_name domain.com www.domain.com;
# access_log /var/log/nginx/domain.com.access.log;
# error_log /var/log/nginx/domain.com.error.log;
# root /var/www/domain.com/httpdocs;
#location / {
# index index.html index.htm index.php;
# try_files $uri =404;
# }
#location ~ \.php$ {
# include /etc/nginx/fastcgi_params;
# fastcgi_pass 127.0.0.1:9000; #this means php-fpm will run on a port
# # fastcgi_pass unix:/run/php-fpm/domain.com.sock; or you could have php-fpm running on a socket
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /var/www/html/domain.com$fastcgi_script_name;
# }
#}
Simpan file dan keluar dari editor teks.
Sekarang, periksa sintaks Nginx dengan perintah berikut:
nginx -t
Tanggapan yang diharapkan:
nginx: the configuration file <file-path> syntax is ok
nginx: configuration file <file-path> test is successful
Jalur file Anda ditampilkan di tempat penampung
sudo service nginx reload
atau
sudo service nginx restart
Jika Anda menjalankan php-fpm
, mulai ulang layanan tersebut dengan menggunakan perintah berikut:
sudo service php-fpm restart
Anda juga dapat memulai ulang atau memuat ulang Nginx dengan menggunakan systemctl
alih-alih service
, seperti yang ditunjukkan pada contoh berikut:
sudo systemctl reload nginx
atau
sudo systemctl restart nginx
Mulai ulang php-fpm
dengan systemctl
:
sudo systemctl restart php-fpm
Sekarang Anda tahu cara menonaktifkan vhosts atau blok server di CentOS dan sistem operasi Ubuntu untuk Apache dan Nginx.