Banner
Komunitas FreeBSD Indonesia
           |  
Lupa Password Root FreeBSD

Pernahkah Anda lupa password root ? Saya pernah mengalaminya. Faktor penyebab lupa password biasanya karena terlalu banyak server yang ditangani, terlalu banyak password yang di gunakan, terlalu rumit dan bukan merupakan password yang biasa kita ingat. Dalam kasus lain, saya pernah mereset password root dikarenakan yang menginstall FreeBSD adalah orang lain dan saya harus menginstall sesuatu di dalamnya.

Home Server Administration Web Server Membangun Web Server di FreeBSD

Membangun Web Server di FreeBSD

E-mail Print PDF

Mungkin kata web server tidak asing lagi di sebagian besar telinga kita, yaitu sebuah tempat untuk mempublikasikan informasi apa pun kepada publik melalui internet atau intranet tentang apa saja, baik oleh individu, kelompok, lembaga pemerintahan, perusahaan, dan lain-lain. Web server umumnya tidak berdiri sendiri, namun ada aplikasi yang mendukungnya, semacam PHP, OpenSSL, dan lain sebagainya. Salah satu aplikasi yang sudah sangat populer adalah Apache HTTP Server. Aplikasi ini mulai dirilis ke publik sejak tahun 1995. Web server yang menggunakan aplikasi Apache di seluruh dunia saat ini berdasarkan survei Netcraft Web Server Survey pada November 2006 saja sudah lebih dari 60% dari total 101,435,253 situs.

Proyek Apache HTTP Server ini merupakan proyek open-source yang dikembangkan oleh Apache Software Foundation. Lembaga ini bertujuan mengembangkan Apache sebagai aplikasi web server modern yang bisa dipergunakan di multi platform OS, khususnya Unix dan Windows.

Saya tidak akan membahas sejarah perkembangan Apache ini secara rinci. Untuk mengetahui lebih lengkap perkembangannya silakan kunjungi About the Apache HTTP Server Project.

Dalam artikel ini, saya tidak hanya membahas Apache secara khusus saja, namun juga beberapa aplikasi yang umum dipergunakan bersama aplikasi ini, seperti OpenSSL, MySQL, dan PHP.

1. Download

Aplikasi yang dipergunakan dalam artikel ini adalah Apache versi 2.2.3, MySQL versi 5.0.22, OpenSSL versi 0.9.8d, dan PHP versi 5.2.0.

Dari semua aplikasi di atas, hanya Apache dan PHP yang akan diinstall secara manual, sedang MySQL dan OpenSSL diinstall via ports. Jadi yang akan didownload secara manual hanya Apache dan PHP.

Apache versi terakhir dapat didownload di http://apache.the.net.id/httpd/httpd-2.2.3.tar.bz2. Versi terakhir Apache saat artikel ini ditulis adalah versi 2.2.3. Dan versi PHP terakhir saat ini adalah versi 5.2.0. PHP dapat didownload di http://id2.php.net/get/php-5.2.0.tar.bz2/from/a/mirror.

2. Instalasi

2.1. Install MySQL

Sebelum menginstall Apache dan PHP, yang harus diinstall terlebih dahulu adalah MySQL dan OpenSSL. Untuk menginstalasi kedua aplikasi ini di FreeBSD cukup mudah melalui ports.

$ cd /usr/ports/database/mysql51-server
$ sudo make install
$ sudo portupgrade -rR mysql51-server

Command terakhir adalah untuk mengupgrade versi MySQL ke versi terbaru.

Untuk mengaktifkan MySQL saat booting, buka file /etc/rc.conf dan tambahkan baris:

mysql_enable = “YES”

Copykan file konfigurasi MySQL:

$ sudo cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf
$ sudo chgrp mysql /var/db/mysql/my.cnf

Kemudian jalankan command berikut untuk mengaktifkan daemon MySQL.

$ sudo /usr/local/etc/rc.d/mysql-server start

Bila berhasil, seharusnya Anda akan melihat baris berikut saat menjalankan command ps ax | grep mysql:

678 p0- I 0:00.01 /bin/sh /usr/local/bin/mysqld_safe –defaults-extra-file=/var/db/mysql/my.cnf –user=mysql –datadir=/var/db/mysql
701 p0- S 383:04.45 /usr/local/libexec/mysqld –defaults-extra-file=/var/db/mysql/my.cnf –basedir=/usr/local –datadir=/var/db/mysql

Selanjutnya buat password untuk MySQL root user:

$ sudo mysqladmin -u root password ‘password-root-mysql’

Coba masuk ke MySQL console dengan password root tersebut.

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 603704 to server version: 5.0.22

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> \q
Bye

2.2. Install OpenSSL

Langkah selanjutnya adalah menginstalasi OpenSSL, cara menginstalasi OpenSSL dalam hal ini menggunakan ports juga.

$ cd /usr/ports/security/openssl
$ sudo make install clean

Buat direktori untuk menempatkan certificate SSL:

$ sudo mkdir -p /usr/local/openssl/{certs,private}

Kemudian generate private key 1024-bit:

$ cd /usr/local/openssl
$ sudo /usr/local/bin/openssl genrsa -out private/namadomain.com.key 1024

Ubah permission untuk direktori private menjadi:

$ sudo chown -R root:wheel private
$ sudo chmod -R 600 private
$ sudo chmod u+X private

Generate Certificate Signing Request (CSR) File:

$ /usr/local/bin/openssl req -new -key private/namadomain.com.key -out certs/namadomain.com.csr

Country Name (2 letter code) [GB]: ID
State or Province Name (full name) [Some-State]: Propinsi
Locality Name (eg, city) []: Kota
Organization Name (eg, company) [Internet Widgits Pty Ltd]: PT. Nama Usaha
Organizational Unit Name (eg, section) []: Bidang Usaha Perusahaan
Common Name (eg, your name or your server’s hostname) []: namadomain.com
Email Address []: This e-mail address is being protected from spambots. You need JavaScript enabled to view it

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: masukkanpassword
An optional company name []:

Kemudian buat Certificate Signed (CRT) file:

$ sudo /usr/local/bin/openssl x509 -req -days 365 -in certs/namadomain.com.csr -out certs/namadomain.com.crt -signkey private/namadomain.com.key

Certificate yang dibuat itu nantinya akan digunakan bila webserver support SSL.

2.3. Install Apache

Saya asumsikan, source Apache hasil download Anda disimpan di /home/users.

$ cd /home/users
$ tar -jxvf httpd-2.2.3.tar.bz2
$ cd httpd-2.2.3
$ ./configure \
    --prefix=/usr/local/apache2 \
    --enable-rewrite \
    --enable-dav \
    --enable-ssl \
    --with-ssl=/usr/local \
    --enable-vhost-alias \
    --with-included-apr
$ make
$ sudo make install

Keterangan dari masing-masing opsi di atas adalah:

--prefix=[DIR]: Menginstall aplikasi ke target direktori yang ditentukan.
--enable-rewrite: Mengaktifkan rule based URL manipulation melalui module mod_rewrite.
--enable-dav: Mengaktifkan protocol WebDAV melalui module mod_dav. Dengan protocol WebDAV ini memungkinkan membuat, memindah, menyalin, dan menghapus resource pada sebuah web server.
--enable-ssl: Mengaktifkan module SSL/TLS.
--with-ssl=[DIR]: Di mana library SSL/TLS diinstall.
--enable-vhost-alias: Support dengan banyak virtual host.
--with-included-apr: Install apr. APR atau Apache Portable Runtime pada Apache 2.2.x versi merupakan source yang sudah menyatu dengan Apache Source.

2.4. Install PHP

Sebelum Anda menginstalasi PHP, saya sarankan untuk menginstall aplikasi-aplikasi via ports yang diperlukan (recommended) PHP saat instalasinya. Aplikasi-aplikasi tersebut adalah:

- mcrypt (/usr/ports/security/mcrypt) dan libmcrypt (/usr/ports/security/libmcrypt)
- db4 (/usr/ports/databases/db4) dan gdbm (/usr/ports/databases/gdbm)
- gd (/usr/ports/graphics/gd)
- libxml2 (/usr/ports/textproc/libxml2)

Saya asumsikan pula, source PHP yang Anda download disimpan di /home/users.

$ cd /home/users
$ tar -jxvf php-5.2.0.tar.bz2
$ cd php-5.2.0
$ ./configure \
    --with-apxs2=/usr/local/apache2/bin/apxs \
    --with-mysql=/usr/local \
    --with-openssl=/usr/local \
    --with-config-file-path=/usr/local/apache2/conf \
    --with-png-dir=/usr/local/lib \
    --with-gettext=/usr/local/lib \
    --with-gd \
    --with-zlib \
    --with-xml \
    --with-mcrypt=/usr/local/lib \
    --enable-mbstring=all \
    --disable-short-tags
    $ make
    $ make install

Keterangan dari masing-masing opsi di atas adalah:

–with-apxs2[=FILE]: Menyertakan shared Apache 2.0 Handler module.
–with-mysql[=DIR]: Menyertakan dukungan MySQL. DIR adalah di mana binary MySQL diinstall.
–with-openssl[=DIR]: Menyertakan dukungan OpenSSL.
–with-config-file-path=PATH: Di mana file php.ini akan diletakkan.
–with-png-dir[=DIR]: Menyertakan dukungan format file PNG.
–with-gettext[=DIR]: Menyertakan dukungan GNU gettext.
–with-gd[=DIR]: Menyertakan dukungan GD.
–with-zlib[=DIR]: Menyertakan dukungan zlib.
–with-libxml-dir[=DIR]: Menyertakan dukungan XML.
–with-mcrypt[=DIR]: Menyertakan dukungan mcrypt atau Multi-cipher cryptographic library.
–enable-mbstring: Mengaktifkan dukungan multibyte string.
–disable-short-tags: Nonaktifkan penggunaan tag pendek <? pada script PHP.

Edit file /usr/local/apache2/conf/php.ini dan sesuaikan dengan kebutuhan Anda. Pada dasarnya default file konfigurasi ini sudah cukup baik.

Karena PHP diinstall sebagai module pada Apache, kita perlu mengubah kepemilikan direktori PHP yang hanya akan mengijinkan akses kepada user root dan www saja.

$ sudo chown -R root:www /usr/local/lib/php
$ sudo chmod -R g-w,o-rwx /usr/local/lib/php

Edit file /usr/local/apache2/conf/httpd.conf dan ubah baris-baris berikut menjadi:

<IfModule !mpm_netware_module>
    User www
    Group www
</IfModule>

    ServerAdmin This e-mail address is being protected from spambots. You need JavaScript enabled to view it
    ServerName www.namadomain.com:80
    <IfModule dir_module>
         DirectoryIndex index.html index.php
    </IfModule>

    <IfModule mime_module>
         TypesConfig conf/mime.types
         AddType application/x-compress .Z
         AddType application/x-gzip .gz .tgz
         AddType application/x-httpd-php .php
         AddHandler cgi-script .cgi
    </IfModule>

Aktifkan juga baris-baris berikut dengan menghilangkan tanda # di awal barisnya:

Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-userdir.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-dav.conf
Include conf/extra/httpd-default.conf
Include conf/extra/httpd-ssl.conf

Selanjutnya ubah permission direktori Apache:

$ cd /usr/local

Ubah kepemilikan direktori apache2 ke user root:wheel

$ sudo chown -R root:wheel apache2

Ubah permission pada direktori apache2. Karena direktori ini kepemilikannya oleh root:wheel dan supaya bisa diakses oleh group www, kita ijinkan group www ini membaca dan mengeksekusi file-file di bawahnya.

$ sudo chmod 755 apache2

Selanjutnya pada direktori apache2 ini hanya akan mengijinkan user root saja untuk dapat membaca dan menulisinya dengan mengubah permission menjadi:

$ sudo chmod -R 600 apache2/*

Hanya user root saja yang dapat mengakses seluruh direktori yang berada di bawah direktori apache2:

$ sudo chmod -R u+X apache2
$ cd apache2

Ubah kepemilikan direktori binary Apache ke user root:

$ sudo chmod -R u+x bin

Direktori cgi-bin juga berisi file-file binari. Hanya mengijinkan user root dan group www saja yang bisa mengaksesnya.

$ sudo chgrp -R www cgi-bin
$ sudo chmod -R u+x,g+x cgi-bin

Web server akan membaca direktori icons, maka ubah pula kepemilikannya agar bisa dibaca oleh group www.

$ sudo chgrp -R www icons
$ sudo chmod -R g+rX icons

Ubah juga permission direktori logs:

$ sudo chgrp -R www logs
$ sudo chmod g+wX logs

Terakhir ubah kepemilikan direktori htdocs agar bisa dibaca oleh publik. Direktori ini nanti merupakan tempat menyimpan file-file web yang akan ditampilkan pada browser. Akses penulisan ke direktori ini hanya dibatasi kepada user root saja.

$ sudo chgrp -R www htdocs
$ sudo chmod -R g+rX htdocs

Karena menginstall Apache dari source file. Kita harus membuat sendiri startup script-nya agar dapat dieksekusi oleh server pada saat booting. Start up script diletakkan di direktori /usr/local/etc/rc.d. Startup script dapat didownload di sini: Apache-2 FreeBSD Startup Script

Kemudian tambahkan dua baris berikut pada file /etc/rc.conf:

apache2_enable=”YES”
apache2_flags=”-DSSL”

Ubah permission file start up script menjadi:

$ sudo chmod 555 /usr/local/etc/rc.d/apache.sh

Jalankan file tersebut untuk mengaktifkan daemon httpd:

$ sudo /usr/local/etc/rc.d/apache.sh start

Periksa apakah daemon httpd sudah aktif dengan command ps ax:

$ ps ax | grep httpd

    33549 ?? Ss 0:12.88 /usr/local/apache2/bin/httpd -DSSL
    33550 ?? I 0:00.43 /usr/local/apache2/bin/httpd -DSSL
    33551 ?? I 0:00.40 /usr/local/apache2/bin/httpd -DSSL
    33552 ?? I 0:00.32 /usr/local/apache2/bin/httpd -DSSL

Bila output di console Anda sudah seperti di atas, selamat! Anda sudah berhasil menginstall web server pada server Anda.

3. Referensi

  1. http://www.bowe.id.au/michael/isp/webmail-server.htm#MYSQL
  2. http://httpd.apache.org/docs/2.2/
  3. http://www.google.co.id

 

Comments

avatar bu99est
0
 
 
pak punten mau nanya, saia sudah ngikuti tutorial yang bapak buat tapi wktu apachenya di jalankan muncul error seperti ini :

[Mon Sep 06 11:32:04 2010] [warn] The Alias directive in /usr/local/apache2/conf/extra/httpd-autoindex.conf at line 20 will probably never match because it overlaps an earlier Alias.
Warning: DocumentRoot [/usr/local/apache2/docs/dummy-host.example.com] does not exist
Warning: DocumentRoot [/usr/local/apache2/docs/dummy-host2.example.com] does not exist
Syntax error on line 31 of /usr/local/apache2/conf/extra/httpd-dav.conf:
Invalid command 'AuthDigestProv ider', perhaps misspelled or defined by a module not included in the server configuration
Starting apache2.
[Mon Sep 06 11:32:04 2010] [warn] The Alias directive in /usr/local/apache2/conf/extra/httpd-autoindex.conf at line 20 will probably never match because it overlaps an earlier Alias.
Warning: DocumentRoot [/usr/local/apache2/docs/dummy-host.example.com] does not exist
Warning: DocumentRoot [/usr/local/apache2/docs/dummy-host2.example.com] does not exist
Syntax error on line 31 of /usr/local/apache2/conf/extra/httpd-dav.conf:
Invalid command 'AuthDigestProv ider', perhaps misspelled or defined by a module not included in the server configuration
/usr/local/etc/rc.d/apache.sh: WARNING: failed to start apache2


kira2x masalahnya dimana yah pak?
hatur nuhun..
avatar rudy.bc
0
 
 
Saya punya masalah kyk gni:

for i in dbmmanage htdbm htdigest htpasswd; do install -o root -g wheel -m 444 /usr/ports/www/apache22/work/httpd-2.2.16/docs/man/$i.1 /usr/local/apache2/man/man1; done
for i in ab apachectl apxs htcacheclean httpd logresolve rotatelogs suexec; do install -o root -g wheel -m 444 /usr/ports/www/apache22/work/httpd-2.2.16/docs/man/$i.8 /usr/local/apache2/man/man8; done
*** Error code 1

Stop in /usr/ports/www/apache22.
*** Error code 1

Stop in /usr/ports/www/apache22.


Pusing saya mkirin kenapa muncul error gni...
mohon bantuannya...

thanx b'4....
avatar fianstudio
0
 
 
om Penulis
Saya coba dulu ya, nanti sore saya comment lagi.
makasih artikel nya, ajarin saya sampe bisa yah :P
avatar iyunkplongo
0
 
 
proxy# /usr/local/etc/rc.d/apache22 start
apache22_http_accept_enable: not found
Performing sanity check on apache22 configuration:
Syntax OK
Starting apache22.
/usr/local/etc/rc.d/apache22: WARNING: failed to start apache22

ni knpa ya ?
mohon pencreahannya ??
Show/Hide Comment form Please login to post comments or replies.
 

Status Koneksi

Proxy Server

Optimasi Bandwidth dengan FreeBSD 7 + squid + Apache + videocache

Judul Asli  : Geber Youtube dkk  + save bandwidth dengan menggunakan videocache oleh         : ogeb ( ogb at indofreebsd.or.id )Ditulis      : Jimbaran Minggu 10 Mei 19:37:10 WITA 2009BismillahirrahmanirrahimTeknologi web yang...

Proxy Server | | Sunday, 10 May 2009

SELANJUTNYA...

Instalasi Squid, BannerFilter, dan Blocking Website

Sebelumnya akan saya jelaskan terlebih dahulu, instalansi squid di sini sangat mudah, karena hanya melalui simple ports dari FreeBSD. Untuk settingan lainnya bisa diatur melalui instalansi squid proxy yang lain...

Proxy Server | Tubagus G.P | Monday, 7 July 2008

SELANJUTNYA...

PF + Transparent Proxy dengan Squid

Rasanya tidak perlu lagi dijelaskan fungsi maupun kegunaan Squid karena sudah banyak situs-situs lain yang menguraikannya secara gamblang, baik berbahasa Indonesia maupun bahasa asing.Artikel ini terfokus secara teknisnya saja, bagaimana...

Proxy Server | mqueue | Tuesday, 25 March 2008

SELANJUTNYA...

Squid Pada Outgoing Load Balancing Connection

Squid merupakan sebuah proxy dan content cache yang memang sering diperlukan oleh kita tentunya dengan beragam alasan diantara nya untuk mempercepat pengiriman web yang sering di akses kepada client.sedangkan Outgoing...

Proxy Server | Ogeb | Sunday, 5 August 2007

SELANJUTNYA...

More in: Proxy Server

Tips & Trick

Enable Normal user untuk menggunakan Super User

Becoming super user (su) or enabling su access to userSuper user memiliki akses penuh kepada semua file dan Perintah. super user memiliki spesial UID (User ID) 0. Anda perlu menjadi...

Tips and Trick | denuxer | Thursday, 27 October 2011

SELANJUTNYA...

Merubah data directory pada mysql server FreeBSD Server

Secara default, jika kita install mysql server via port maka data-data dari database yang ada dalam mysql server akan tersimpan pada dir /var/db/mysqlAkan merepotkan kalau ternyata partisi /var kita terlalu...

Tips and Trick | Ainur Rahma | Friday, 1 July 2011

SELANJUTNYA...

Membuat iso DVD untuk FreeBSD 7.2

by : masdani Bagi yang suka melakukan instalasi sistem operasi FreeBSD kadang direpotkan pada proses instalasinya jika menggunakan media CD. Karena jumlah CD yang3 buah itu, kadang harus diganti-ganti setiap kali...

Tips and Trick | | Thursday, 25 June 2009

SELANJUTNYA...

Upgrade dari FreeBSD 6.x ke FreeBSD 7.x

This upgrades from FreeBSD 6.2-STABLE to 7.0-CURRENT.{xtypo_alert}ATTENTION: THIS UPGRADE PROCEDURE MIGHT NOT WORK FOR YOU AS YOUR ENVIRONMENT IS DIFFERENT. ALSO, THIS UPGRADE PROCEDURES MIGHT DESTROY OUR SYSTEM AND YOU...

Tips and Trick | Azhax | Monday, 17 March 2008

SELANJUTNYA...

More in: Tips and Trick

Anggota Baru

agung suryawan
kwgcv
banjow
banjow
agus widodo
kirun_w
raymond prabu
raymond
Muammar Renaldy
muren

Login Terakhir

agung suryawan
kwgcv
lutfi saiful nizal
fians
lamuerte
lamuerte
banjow
banjow
hendra syam
hendrasyam
bigie
bigie
moh rifai
kramotak
agus widodo
kirun_w
Dedi Sidauruk
takeiteazy
raymond prabu
raymond

WHO'S ONLINE

We have 7 guests online

Diskusi Terbaru