[FreeBSD] Memodifikasi Account: Add, Delete, Change Password


Memodifikasi account/user pengguna suatu komputer kadang sangat diperlukan. Beberapa hal yangbisa dilakukan misalnya menambah pengguna (add user), menghapus pengguna (delete user) dan mengganti password pengguna (change password). FreeBSD menyediakanperintah untuk melakukan semua hal itu.

Add New User

Untuk menambah pengguna baru, dapat dilakukan dengan perintah: adduser. Tetapi untuk melakukan hal itu harus memiliki hak akses super-user (root). Berikut adalah contoh penjalanan perintah adduser:

# adduser
Username: edward
Full name: Edward Samuel
Uid (Leave empty for default):
Login group [edward]:
Login group is edward. Invite edward into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh zsh nologin) [sh]: tcsh
Home directory [/home/edward]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username   : edward
Password   : ****
Full Name  : Edward Samuel
Uid        : 1001
Class      :
Groups     : edward wheel
Home       : /home/edward
Shell      : /usr/local/bin/tcsh
Locked     : no
OK? (yes/no): y
adduser: INFO: Successfully added (edward) to the user database.
Add another user? (yes/no): n
Goodbye!

Remove Account

Untuk menghapus pengguna terdaftar, dapat dilakukan dengan perintah: rmuser [username]. Tetapi untuk melakukan hal itu juga harus memiliki hak akses super-user (root). Berikut adalah contoh penjalanan perintah rmuser:

# rmuser
Please enter one or more usernames: edward
Matching password entry:

edward:*:1001:0::0:0:Edward Samuel:/home/edward:/bin/tcsh

Is this the entry you wish to remove? y
Remove user's home directory (/home/edward)? y
Removing user (edward): mailspool home passwd
# rmuser edward
Matching password entry:

edward:*:1001:0::0:0:Edward Samuel:/home/edward:/bin/tcsh

Is this the entry you wish to remove? y
Remove user's home directory (/home/edward)? y
Removing user (edward): mailspool home passwd

Catatan: Useraccount root tidak dapat dihapus karena dapat menyebabkan kerusakan pada system (tidak memiliki user dengan kekuasaan tertinggi).

Change Password

Untuk mengganti password useraccount yang sedang aktif, dapat menjalankan perintah passwd.

> passwd
Changing local password for edward.
Old password:
New password:
Retype new password:

Bagaimana untuk mengganti password pengguna lain (changing other users password)? Dapat passwd [username], tetapi tetap harus memiliki hak akses root.

# passwd edward
Changing local password for edward.
New password:
Retype new password:

Tahap Lanjut

Untuk mengetahui lebih dalam tentang perintah adduser, rmuser, passwd. Dapat membaca FreeBSD Manual

# man adduser
# man rmuser
# man passwd

[Networking] Install Apache + MySQL + PHP pada FreeBSD (Part#3)


PHP: Hypertext Preprocessor

PHP (PHP: Hypertext Preprocessor) umumnya digunakan sebagai server-side scripting language untuk membuat halaman web dinamis.Walaupun demikian PHP dapat digunakan sebagai sripting language pada mode CLI dan membuat program berbasis GUI dengan PHP-GTK.* PHP banyak diimplementasikan dalam berbagai aplikasi web, misalnya WordPress, MediaWiki, dan phpBB. PHP sangat mudah diintegrasikan dengan relational database management systems (seperti MySQL).

Tidak seperti JavaScript yang mengeksekusi code pada web browser pengguna, PHP menangani code pada web server. Website yang menggunakan JavaScript harus mengirimkan semua code ke web browser klien (yang memakan bandwidth). PHP mengeksekusi code pada web server dan hanya mengirimkan HTML yang diperlukan.

(*thanks to: Aaron Moses Anonymous atas revisinya)

Install PHP

Untuk menginstallnya ketikan perintah berikut pada terminal (harus superuser)

# cd /usr/ports/lang/php5
# make config ; make install clean
# rehash

Catatan: Pada saat tulisan ini dibuat, versi PHP terakhir adalah versi 5.

Konfigurasi PHP dan Integrasi dengan Apache

Buka file konfigurasi Apache agar Apache dapat bekerja dengan PHP.

# ee /usr/local/etc/apache22/httpd.conf

Cari bagian dektarasi DirectoryIndex (~216). Tambahkan index.php di depan index.html.

    DirectoryIndex index.php index.html

Setting ini akan memerintahkan Apache agar membuka file index.php terlebih dahulu jika ditemukan file index.php dan index.html dalam satu direktori.
Tambahkan baris berikut di akhir baris file httpd.conf tersebut.

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Simpan dan keluar.
Salin setting php.ini-development ke php.ini pada /usr/local/etc.

# cd /usr/local/etc
# cp php.ini-development php.ini

Konfigurasi PHP disipman di dalam file /usr/local/etc/php.ini. File php.ini-development berisi konfigurasi PHP yang disarankan untuk production server. Jika dipakai pada lingkungan developer, dapat disalin file php.ini-recommended.
Buka file php.ini.

# ee /usr/local/etc/php.ini

Cari bagian session.save_path. Hilangkan tanda titik koma didepannya. Ubah menjadi seperti berikut.

session.save_path = "/tmp"

Restart Apache.

# /usr/local/etc/rc.d/apache22 restart

Testing PHP

Untuk mengetes keberadaan PHP, akan digunakan fungsi phpinfo() untuk memberikan informasi seputar PHP yang terinstall pada server. Buat sebuah file phpinfo.php pada root direktori web server.

# ee /usr/local/www/apache22/data/phpinfo.php

Ketikan code php berikut

<?php phpinfo(); ?>

Simpan dan keluar. Buka alamat phpinfo.php di browser, misalnya http://localhost/phpinfo.php atau http://192.168.1.14/phpinfo.php. Jika berhasil maka akan muncul sebuah halam tentang PHP. Jika sudah, hapus file phpinfo.php tersebut.

[Networking] Install Apache + MySQL + PHP pada FreeBSD (Part#2)


MySQL Server

MySQL adalah aplikasi SQL (Structured Query Language) database management system yang bersifat open source. SQL sendiri merupakan bahasa pemrograman terpopuler dalam mengurusi relational database management systems. Relational Database Management System (RDBMS) umumnya menyimpan data dan hubungan antartabel dengan baris dan kolom, sehingga data harus dapat diubah dengan format ini.

MySQL biasanya dikombinasikan dengan PHP untuk membuat halaman web dinamis. Beberapa contoh halaman web dinamis yaitu: WordPress (weblog), MediaWiki, dan phpBB (forum).

Install MySQL

Untuk menginstallnya ketikan perintah berikut pada terminal (harus superuser)

# cd /usr/ports/databases/mysql55-server
# make -D BUILD_OPTIMIZED install clean
# rehash

Catatan: Pada saat tulisan ini dibuat, versi MySQL terakhir adalah versi 5.5.

Konfigurasi MySQL

Jalankan perintah mysql_install_db untuk mengeset grant tables yang dipakai MySQL. Grant tables menyimpan informasi MySQL user permissions dan setting keamanan lainnya. Jalankan perintah baris pertama, jika berhasil lanjutkan jika tampil pesan kesalahan FATAL ERROR: Could not find ./bin/my_print_defaults, jalankan perintah kedua.

# /usr/local/bin/mysql_install_db --user=mysql
# /usr/local/bin/mysql_install_db --basedir=/usr/local --user=mysql

Selanjutnya akan dijalankan daemon MySQL dan pengaturan password root MySQL (ganti localpassword dengan password yang diinginkan:

# mysqld_safe &
# mysqladmin -u root password 'localpassword'

Catatan: Tanda petik tunggal yang mengapit localpassword dibutuhkan.

MySQL menyediakan empat contoh file konfigurasi yang diletakkan di <em>/usr/local/share/mysql</em>. Setiap file dikonfigurasikan khusus untuk server dengan spesifikasi yang berbeda.

  • my-small.cnf untuk system dengan RAM <= 64MB
  • my-medium.cnf untuk system dengan RAM <= 128MB (web server)
  • my-large.cnf untuk system dengan RAM <= 512MB (dedicated MySQL server)
  • my-huge.cnf untuk system dengan RAM <= 2GB (datacenter)

Tentukan file yang sesuai dengan kebutuhan, kemudian copy file tersebut ke /var/db/mysql dengan nama my.cnf. Contoh:

# cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf

Testing MySQL

Atur agar MySQL berjalan otomatis ketika sistem dinyalakan. Buka file /etc/rc.conf:

# ee /etc/rc.conf

Tambahkan baris berikut

mysql_enable="YES"

Simpan dan keluar. Lalu restart MySQL.

# /usr/local/etc/rc.d/mysql-server restart

Coba jalankan perintah untuk melihat list database.

mysqlshow -p

[Networking] Install Apache + MySQL + PHP pada FreeBSD (Part#1)


Apache Web Server

Apache HTTP Server adalah aplikasi web server yang berbasis open source. Apache merupakan salah satu aplikasi web server yang efisien, sclable, dan kaya akan fungsi. Apache sangat mudah untuk dikostumasi dengan banyak dukungan pihak ketiga. Aplikasi web server ini mendukung SSL (Secure Sockets Layer) encryption over HTTP (HyperText Transfer Protocol), PHP (salah satu server-side scripting language yang populer), dan autentikasi password untuk melindungi situs.

Install Apache

Untuk menginstallnya ketikan perintah berikut pada terminal (harus superuser)

# cd /usr/ports/www/apache22
# make config
# make install clean
# rehash

Jangan lupa untuk mengaktifkan modul yang diperlukan. Misalnya dukungan terhadap MySQL.
Catatan: Pada saat tulisan ini dibuat, versi Apache terakhir adalah versi 2.2.

Konfigurasi Apache

Jika instalasi sudah selesai, sekarang saatnya mengonfigurasi Apache. Buka file konfigurasi Apache.

# ee /usr/local/etc/apache22/httpd.conf

Edit pada bagian ServerAdmin (~143) dan ganti menjadi alamat email admin server. Selain itu edit pada ServerName (~152), uncomment dan ganti jadi alamat server.

ServerAdmin edward@example.com
ServerName localhost:80

Testing Apache Web Server

Untuk mengecek apakah terdapat syntax error pada file konfigurasi Apache, ketikkan perintah berikut:

# apachectl configtest

Jika apachectl menghasilkan Syntax OK, lanjutkan ke step berikutnya. Sedangkan jika ditemukan masalah, apachectl akan memberi tahu file mana, baris berapa, dan jenis kesalahannya. Perbaiki kesalahan syntax tersebut sebelum melanjutkan ke langkah berikutnya.
Setelah itu, Apache akan di setting agar berjalan pada saat boot. Buka file rc.conf pada /etc:

# ee /etc/rc.conf

Tambahkan kedua baris berikut pada file /etc/rc.conf tersebut:

apache22_enable="YES"
apache22_http_accept_enable="YES"

Simpan, keluar, dan jalankan Apache dengan perintah:

# /usr/local/etc/rc.d/apache22 start

Atau jika tidak ingin Apache berjalan saat boot, jangan tambahkan dua baris setting tersebut. Untuk menjalankan Apache tanpa mengubah setting tersebut:

# /usr/local/etc/rc.d/apache22 onestart

Buka alamat ip komputer yang sudah di-install Apache ini, misalnya http://192.168.1.14 atau http://localhost/. Jika terbuka halaman yang bertuliskan “It works!” maka server Apache telah berhasil di-install.
Catatan: Folder HTTP Server secara default terletak pada /usr/local/www/apache22/data. Untuk mengubahnya folder default, buka file konfigurasi Apache (httpd.conf).