GNU/Linux >> Belajar Linux >  >> Linux

Nonaktifkan host virtual di sistem operasi Ubuntu dan CentOS untuk Apache dan Nginx

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 . Setelah Anda menerima respons positif, Anda perlu memuat ulang atau memulai ulang Nginx bu menggunakan salah satu perintah berikut:

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 . Setelah Anda menerima tanggapan positif, Anda perlu memuat ulang atau memulai ulang Nginx dengan menggunakan salah satu perintah berikut:

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.


Linux
  1. Konfigurasi Apache pada sistem operasi Ubuntu

  2. Konfigurasikan server MySQL pada sistem operasi Ubuntu

  3. Berikan akses sudo di Debian dan sistem operasi Ubuntu

  1. Ubah Port SSH di sistem operasi Linux Ubuntu

  2. Cara mengkonfigurasi host virtual Apache di ubuntu

  3. Cara install nginx terbaru di Debian dan Ubuntu

  1. Aktifkan login root jarak jauh SSH di CentOS dan sistem operasi Ubuntu

  2. Instal IMAP untuk PHP 7.1 di sistem operasi Ubuntu

  3. Instal Server MySQL di sistem operasi Ubuntu