Melanjutkan catatan sebelumnya tentang Install LAMP Server pada OpenSUSE dan Konfigurasi LAMP Server pada OpenSUSE, kini saya ingin berbagi tentang cara Membuat Virtualhost pada Localhost OpenSUSE. Dengan menggunakan Virtualhost, maka kita bisa menggunakan domain apapun yang kita inginkan untuk membuat alamat website pada localhost. Berikut ini cara Membuat Virtualhost pada Localhost OpenSUSE.
1. Siapkan nama domain yang akan digunakan sebagai Virtualhost. Sebagai contoh, saya disini menggunakan estiko.lan sebagai alamat Virtualhost pada Localhost OpenSUSE saya.
2. Buka terminal OpenSUSE anda, masuk sebagai root. Pindah ke direktori /etc/apache2/vhosts.d
cd /etc/apache2/vhosts.d
3. Copy file vhost.template, dan rubah menjadi estiko.lan.conf
cp vhost.template estiko.lan.conf
4. Buka file estiko.lan.conf
vi estiko.lan.conf
Edit file tersebut menjadi:
#
# VirtualHost template
# Note: to use the template, rename it to /etc/apache2/vhost.d/yourvhost.conf.
# Files must have the .conf suffix to be loaded.
#
# See /usr/share/doc/packages/apache2/README.QUICKSTART for further hints
# about virtual hosts.
#
# NameVirtualHost statements can be added to /etc/apache2/listen.conf.
#
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost estiko.lan:80>
ServerAdmin estiko@mediaqu.com
ServerName estiko.lan# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
DocumentRoot /home/estiko/public_html/estiko.lan# if not specified, the global error log is used
ErrorLog /var/log/apache2/estiko.lan-error_log
CustomLog /var/log/apache2/estiko.lan-access_log combined# don’t loose time with IP address lookups
HostnameLookups Off# needed for named virtual hosts
UseCanonicalName Off# configures the footer on server-generated documents
ServerSignature On# Optionally, include *.conf files from /etc/apache2/conf.d/
#
# For example, to allow execution of PHP scripts:
#
# Include /etc/apache2/conf.d/php5.conf
#
# or, to include all configuration snippets added by packages:
# Include /etc/apache2/conf.d/*.conf# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing “/” apply to ScriptAlias directives as to
# Alias.
#
ScriptAlias /cgi-bin/ “/srv/www/vhosts/dummy-host.example.com/cgi-bin/”# “/srv/www/cgi-bin” should be changed to whatever your ScriptAliased
# CGI directory exists, if you have one, and where ScriptAlias points to.
#
<Directory “/srv/www/vhosts/dummy-host.example.com/cgi-bin”>
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory># UserDir: The name of the directory that is appended onto a user’s home
# directory if a ~user request is received.
#
# To disable it, simply remove userdir from the list of modules in APACHE_MODULES
# in /etc/sysconfig/apache2.
#
<IfModule mod_userdir.c>
# Note that the name of the user directory (“public_html”) cannot simply be
# changed here, since it is a compile time setting. The apache package
# would have to be rebuilt. You could work around by deleting
# /usr/sbin/suexec, but then all scripts from the directories would be
# executed with the UID of the webserver.
UserDir public_html
# The actual configuration of the directory is in
# /etc/apache2/mod_userdir.conf.
Include /etc/apache2/mod_userdir.conf
# You can, however, change the ~ if you find it awkward, by mapping e.g.
# http://www.example.com/users/karl-heinz/ –> /home/karl-heinz/public_html/
#AliasMatch ^/users/([a-zA-Z0-9-_.]*)/?(.*) /home/$1/public_html/$2
</IfModule>#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory “/home/estiko/public_html/estiko.lan”>#
# Possible values for the Options directive are “None”, “All”,
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that “MultiViews” must be named *explicitly* — “Options All”
# doesn’t give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs-2.2/mod/core.html#options
# for more information.
#
Options All#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be “All”, “None”, or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all</Directory>
</VirtualHost>
Catatan: Untuk direktori dokumen root, saya membuat folder public_html pada direktori /home/estiko (username OpenSUSE saya), serta membuat direktori estiko.lan pada direktori public_html. Anda rubah pada /home/estiko/public_html/estiko.lan menjadi folder /home/usernameanda/public_html/estiko.lan. Atau anda bisa menggantinya dengan direktori lain yang anda inginkan.
5. Tambahkan estiko.lan pada /etc/hosts dengan menggunakan IP Address 127.0.0.2
vi /etc/hosts
127.0.0.1 localhost
127.0.0.2 estiko.lan
6. Jika telah selesai, restart apache
service apache2 restart
7. Buat file txt sebagai penanda. Misal:
vi ~/public_html/estiko.lan/test.txt
Isi dengan sembarang kata. Kemudian save.
8. Test melalui browser denga alamat http://estiko.lan. Maka yang akan tampil adalah direktori yang berisi file txt yang telah kita buat.
Jika semua konfigurasi Virtualhost sudah benar, maka kita bisa mengisi direktori dokumen root dengan file konfigurasi website yang kita inginkan. Dengan cara yang sama, anda bisa Membuat Virtualhost pada Localhost OpenSUSE dengan domain yang lain.
Semoga catatan tentang Membuat Virtualhost pada Localhost OpenSUSE ini bisa bermanfaat bagi anda. Selamat mencoba membuat VirtualHost pada Localhost OpenSUSE, semoga berhasil.
Materi referensi: Membuat Virtualhost pada Localhost OpenSUSE