Mirror Web Internet

From OnnoWiki
Jump to navigation Jump to search

Salah satu cara agar informasi yang ada di web Internet dapat diakses secara lokal tanpa Internet adalah dengan cara mengambil informasi tersebut dan di copy ke server Web lokal. Teknik ini dikenal dengan istilah web mirror.

Untuk keperluan web mirror tersebut, kita membutuhkan,

operasi wget - untuk mengcopy halaman web dari Internet ke harddisk server lokal. apache - server web lokal yang akan menampilkan ke jaringan lokal. konfigurasi apache - agar mengenali copy-an web Internet sebagai virtual server. DNS server (BIND) - agar bisa "menipu" user di jaringan lokal agar mengakses informasi web di server lokal bukan di server Internet.

Berikut adalah perintah untuk melakukan web mirror

mkdir -p /var/www/html/webmirror cd /var/www/html/webmirror

wget \

    --recursive \
    --no-clobber \
    --page-requisites \
    --html-extension \
    --convert-links \
    --restrict-file-names=windows \
    --domains itts.ac.id \
        www.itts.ac.id

atau

wget --mirror --convert-links --adjust-extension --page-requisites \ --html-extension --wait=2 --no-parent https://www.itts.ac.id/ wget -mkEpnp https://www.itts.ac.id/

atau

wget -mk -w 20 https://www.itts.ac.id/ wget --mirror --convert-links --html-extension \ --wait=2 -o log https://www.itts.ac.id/

Ubah permission

chmod -Rf 777 /var/www/html/webmirror chown -Rf nobody: /var/www/html/webmirror

Setelah kita melakukan copy/mirror web di Internet, yang perlu kita lakukan selanjutnya hanya dua (2) hal saja, yaitu,

menset virtual host di apache agar mengarahkan permintaan dengan nama web tersebut ke folder mirror. menset DNS Server lokal agar menipu pengguna, agar permintaan akses ke alamat web di arahkan ke IP address server Internet OFFLINE.

Setting DNS server lokal, dapat dideduksi dari penjelasan di proses instalasi DNS server lokal yang dijelaskan pada bagian lain.

Apache memungkinkan kita untuk menjalankan beberapa situs dalam sebuah server apache. Ubuntu menggunakan dua (2) directory untuk virtual host, yaitu:

/etc/apache2/sites-available /etc/apache2/sites-enabled

Folder site-enabled berisi symlink ke site-available, dengan cara ini kita dapat mengkonfigurasi dengan aman di site-available jika di disable dengan cara menghilangkan symlink.


Untuk memperoleh/membuat file Konfigurasi Virtual Host Apache yang baik, cara paling mudah adalah copy / contek default.conf

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

       /etc/apache2/sites-available/darmajaya.ac.id.conf

Isinya kira-kira

<VirtualHost *:80>

   # The ServerName directive sets the request scheme, hostname and port that
   # the server uses to identify itself. This is used when creating
   # redirection URLs. In the context of virtual hosts, the ServerName
   # specifies what hostname must appear in the request's Host: header to
   # match this virtual host. For the default virtual host (this file) this
   # value is not decisive as it is used as a last resort host regardless.
   # However, you must set it for any further virtual host explicitly.
   #ServerName www.example.com
   ServerAdmin webmaster@localhost
   DocumentRoot /var/www
   # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
   # error, crit, alert, emerg.
   # It is also possible to configure the loglevel for particular
   # modules, e.g.
   #LogLevel info ssl:warn
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
   # For most configuration files from conf-available/, which are
   # enabled or disabled at a global level, it is possible to
   # include a line for only one particular virtual host. For example the
   # following line enables the CGI configuration for this host only
   # after it has been globally disabled with "a2disconf".
   #Include conf-available/serve-cgi-bin.conf

</VirtualHost>

Ubah di sesuaikan dengan virtual host kita, misalnya,

<VirtualHost *:80>

   ServerName www.itts.ac.id
   ServerAlias itts.ac.id
   DocumentRoot /usr/local/src/webmirror/www.itts.ac.id/
   <Directory /usr/local/src/webmirror/www.itts.ac.id>
       Options -Indexes +FollowSymLinks +MultiViews
       AllowOverride All
       Require all granted
   </Directory>
   ErrorLog ${APACHE_LOG_DIR}/www.itts.ac.id-error.log 
   # Possible values include: debug, info, notice, warn, error, crit,
   # alert, emerg.
   LogLevel warn
   CustomLog ${APACHE_LOG_DIR}/www.itts.ac.id-access.log combined 
</VirtualHost>

Arti masing-masing parameter adalah sebagai berikut,

ServerName dan ServerAlias: Memberitahukan Apache akan virtual host yang akan di akses DocumentRoot: Ubah sesuai dengan folder tempat meletakan file untuk host tersebut Options -Indexes:: -Indexes menghentikan orang untuk bisa masuk ke directory dan melihat file yang ada di situ. AllowOverride: Set ke "all" untuk allow .htaccess files di virtual host (dan sub-directory) ErrorLog, CustomLog: Buat log file untuk domain virtual tersebut.

Untuk mengaktifkan sebuah virtual host, misalnya kita mempunyai konfigurasi virtual host (itts.ac.id.conf) di /etc/apache2/sites-available/itts.ac.id.conf yang belum di enable. Untuk mengaktifkannya cukup menggunakan perintah,

sudo a2ensite itts.ac.id.conf # meng-enable symlink agar site-available sudo service apache2 reload # reload agar host virtual masuk sudo systemctl reload apache2

Untuk mendisable,

sudo a2dissite itts.ac.id.conf # remove symlink sudo service apache2 reload sudo systemctl reload apache2

Tentunya kita perlu menset satu per satu untuk masing-masing web copy / web mirror dari situs yang kita copy dari Internet.