cara configurasi virtual host di nginx

untuk konfigurasi virtual host di nginx ada 3 step yang harus kita lakukan. dalam tutorial kali ini saya menggunakan debian.

Step 1

pertama kita buat dulu folder untuk website kita. misal nya kita buat folder yang letak nya di /var/www/html. untuk menbuat nya anda cukup mengetikan perintah di bawah ini di terminal. jangan lupa gunakan akses root ya.

 
mkdir /var/www/html/testwebsite.com
 

kemudian enter maka anda akan membuat sebuah folder testwebsite.com yang letak nya di /var/www/html. selanjut nya kita isi folder testwebsite.com dengan index.php dan kita isi dengan hello world

ketikan perintah di bawah ini di terminal kesayangan anda.

 
echo "Hello World" > /var/www/html/testwebsite.com/index.php
 

jangan lupa di enter. setelah itu kita beri akses 755 ke foler testwebsite.com. dengan mengetikan perintah di bawah ini.

 
chmod 755 -R /var/www/html/testwebsite.com
 

jangan lupa di enter. selanjut nya kita masuk step ke 2

step 2

setelah konfigurasi folder nya selese. maka mari kita buat konfigurasi untuk vitual host / server block nginx nya

langkah pertama kita copy default konfigurasi dari nginx ke custom konfigurasi untuk website kita dalam contoh kali ini adalah testwebsite.com. maka nama konfigurasi nya saya buat testwebsite.com.conf. cara nya ketikan perintah di bawah ini di terminal

 
#cp /etc/nginx/sites-available/default /etc/nginx/sites-available/testwebsite.com.conf
 

kemudian ubah menjadi seperti di bawah ini

<pre class="wp-block-syntaxhighlighter-code"> 
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or WordPress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
server {
	listen 80;
	listen [::]:80;

	# SSL configuration
	#
	# listen 443 ssl default_server;
	# listen [::]:443 ssl default_server;
	#
	# Note: You should disable gzip for SSL traffic.
	# See: https://bugs.debian.org/773332
	#
	# Read up on ssl_ciphers to ensure a secure configuration.
	# See: https://bugs.debian.org/765782
	#
	# Self signed certs generated by the ssl-cert package
	# Don't use them in a production server!
	#
	# include snippets/snakeoil.conf;

	root /var/www/html/testwebsite.com;

	# Add index.php to the list if you are using PHP
	index index.html index.htm index.nginx-debian.html index.php;

	server_name testwebsite.com www.testwebsite.com;

	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to displaying a 404.
		try_files $uri $uri/ =404;
	}

	# pass PHP scripts to FastCGI server
	#
	location ~ \.php$ {
		include snippets/fastcgi-php.conf;
	
		# With php-fpm (or other unix sockets):
		fastcgi_pass unix:/run/php/php7.3-fpm.sock;
		# With php-cgi (or other tcp sockets):
		#fastcgi_pass 127.0.0.1:9000;
	}

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	#location ~ /\.ht {
	#	deny all;
	#}
}


# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
#	listen 80;
#	listen [::]:80;
#
#	server_name example.com;
#
#	root /var/www/example.com;
#	index index.html;
#
#	location / {
#		try_files $uri $uri/ =404;
#	}
#}

 </pre>

setelah selese kemudian kita buat symlink konfigurasi tadi ke sites-enabled dengan mengetikan kode di bawah ini di terminal:

 
#ln -s /etc/nginx/sites-available/testwebsite.com.conf /etc/nginx/sites-enabled/testwebsite.com.conf
 

kemudian restart nginx nya

dengan mengetikan perintah di bawah ini:

 
#systemctl restart nginx
 

step 3

step terakhir adalah membuat local host untuk testwebsite.com agar ketika kita ketikan di browser akan mengarah ke folder kita. caranya dengan mengedit file /etc/hosts kali ini saya menggunkan nano untuk ngedit nya ketikan peritah di bawah ini :

 
#nano /etc/hosts
 

setelah itu tambahkan hosts nya

 
127.0.0.1   testwensite.com www.testwebsite.com;

setelah itu simpan

selese silakan ketikan testwebsite.com di browser. jika belum berhasil silakan ketikan masalah nya di kolom terminal ya gaes.

selamat mencoba

Leave a Reply