To login (from unix shell) use -h only if needed.
# [mysql dir]/bin/mysql -h hostname -u root -p
Create a database on the sql server.
mysql> create database [databasename];
List all databases on the sql server.
mysql> show databases;
Switch to a database.
mysql> use [db name];
To see all the tables in the db.
mysql> show tables;
To see database's field formats.
mysql> describe [table name];
To delete a db.
mysql> drop database [database name];
To delete a table.
mysql> drop table [table name];
Show all data in a table.
mysql> SELECT * FROM [table name];
Returns the columns and column information pertaining to the designated table.
mysql> show columns from [table name];
Show certain selected rows with the value "whatever".
mysql> SELECT * FROM [table name] WHERE [field name] = "whatever";
Show all records containing the name "Bob" AND the phone number '3444444'.
mysql> SELECT * FROM [table name] WHERE name = "Bob" AND phone_number = '3444444';
Show all records not containing the name "Bob" AND the phone number '3444444' order by the phone_number field.
mysql> SELECT * FROM [table name] WHERE name != "Bob" AND phone_number = '3444444' order by phone_number;
Show all records starting with the letters 'bob' AND the phone number '3444444'.
mysql> SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444';
Show all records starting with the letters 'bob' AND the phone number '3444444' limit to records 1 through 5.
mysql> SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444' limit 1,5;
Use a regular expression to find records. Use "REGEXP BINARY" to force case-sensitivity. This finds any record beginning with a.
mysql> SELECT * FROM [table name] WHERE rec RLIKE "^a";
Show unique records.
mysql> SELECT DISTINCT [column name] FROM [table name];
Show selected records sorted in an ascending (asc) or descending (desc).
mysql> SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;
Return number of rows.
mysql> SELECT COUNT(*) FROM [table name];
Sum column.
mysql> SELECT SUM(*) FROM [table name];
Join tables on common columns.
mysql> select lookup.illustrationid, lookup.personid,person.birthday from lookup left join person on lookup.personid=person.personid=statement to join birthday in person table with primary illustration id;
Creating a new user. Login as root. Switch to the MySQL db. Make the user. Update privs.
# mysql -u root -p
mysql> use mysql;
mysql> INSERT INTO user (Host,User,Password) VALUES('%','username',PASSWORD('password'));
mysql> flush privileges;
Change a users password from unix shell.
# [mysql dir]/bin/mysqladmin -u username -h hostname.blah.org -p password 'new-password'
Change a users password from MySQL prompt. Login as root. Set the password. Update privs.
# mysql -u root -p
mysql> SET PASSWORD FOR 'user'@'hostname' = PASSWORD('passwordhere');
mysql> flush privileges;
Recover a MySQL root password. Stop the MySQL server process. Start again with no grant tables. Login to MySQL as root. Set new password. Exit MySQL and restart MySQL server.
# /etc/init.d/mysql stop
# mysqld_safe --skip-grant-tables &
# mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("newrootpassword") where User='root';
mysql> flush privileges;
mysql> quit
# /etc/init.d/mysql stop
# /etc/init.d/mysql start
Set a root password if there is on root password.
# mysqladmin -u root password newpassword
Update a root password.
# mysqladmin -u root -p oldpassword newpassword
Allow the user "bob" to connect to the server from localhost using the password "passwd". Login as root. Switch to the MySQL db. Give privs. Update privs.
# mysql -u root -p
mysql> use mysql;
mysql> grant usage on *.* to bob@localhost identified by 'passwd';
mysql> flush privileges;
Give user privilages for a db. Login as root. Switch to the MySQL db. Grant privs. Update privs.
# mysql -u root -p
mysql> use mysql;
mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ('%','databasename','username','Y','Y','Y','Y','Y','N');
mysql> flush privileges;
or
mysql> grant all privileges on databasename.* to username@localhost;
mysql> flush privileges;
To update info already in a table.
mysql> UPDATE [table name] SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' where [field name] = 'user';
Delete a row(s) from a table.
mysql> DELETE from [table name] where [field name] = 'whatever';
Update database permissions/privilages.
mysql> flush privileges;
Delete a column.
mysql> alter table [table name] drop column [column name];
Add a new column to db.
mysql> alter table [table name] add column [new column name] varchar (20);
Change column name.
mysql> alter table [table name] change [old column name] [new column name] varchar (50);
Make a unique column so you get no dupes.
mysql> alter table [table name] add unique ([column name]);
Make a column bigger.
mysql> alter table [table name] modify [column name] VARCHAR(3);
Delete unique from table.
mysql> alter table [table name] drop index [colmn name];
Load a CSV file into a table.
mysql> LOAD DATA INFILE '/tmp/filename.csv' replace INTO TABLE [table name] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1,field2,field3);
Dump all databases for backup. Backup file is sql commands to recreate all db's.
# [mysql dir]/bin/mysqldump -u root -ppassword --opt >/tmp/alldatabases.sql
Dump one database for backup.
# [mysql dir]/bin/mysqldump -u username -ppassword --databases databasename >/tmp/databasename.sql
Dump a table from a database.
# [mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql
Restore database (or database table) from backup.
# [mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql
Create Table Example 1.
mysql> CREATE TABLE [table name] (firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35),suffix VARCHAR(3),officeid VARCHAR(10),userid VARCHAR(15),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25), groups VARCHAR(15),datestamp DATE,timestamp time,pgpemail VARCHAR(255));
Create Table Example 2.
mysql> create table [table name] (personid int(50) not null auto_increment primary key,firstname varchar(35),middlename varchar(50),lastnamevarchar(50) default 'bato');
Jumat, 08 Oktober 2010
Selasa, 20 April 2010
Instalasi Web Conference ( Open Meetings ) on Centos 5
OpenMeetings dibuat untuk melakukan rapat dalam jarak jauh, atau peserta rapat yg tidak bisa hadir ditempat, OpenMeetings sangat berguna bila peserta rapat berada di wilayah lain atau luar kota.
OpenMeetings bisa didapat di situs http://code.google.com/p/openmeetings/
fiturnya adalah video conference, audio chat dan pendukung lainnya.
Instalasi OpenMeetings
file-file yang dibutuhkan oleh Open Meetings adalah
- ffmpeg-0.5.1.tar.bz2 bisa menggunakan versi terbaru
- ImageMagick-6.3.2-9.tar.bz2 gunakan versi terbaru
- swftools-0.9.0.tar.gz gunakan versi terbaru
- flash player terbaru untuk linux
- Java terbaru untuk linux
dan tidak lupa Open-Meetings
tahap pertama instalasi Open Meetings
- instalasi terlebih dahulu paket-paket pendukungnya
- ffmpeg
- imagemagick
- swftools
- flash player plugin
- Java terbaru
setelah semua selesai cek terlebih dahulu versi javanya
# java -version
java version "1.6.0"
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK Server VM (build 1.6.0-b09, mixed mode)
bila sudah oke, silakan extract file openMeetingnya kedirektori /opt
buat direktori di dalam /opt
# mkdir /opt/red5
# unzip red5-openmeetings-rc5.zip -d /opt/red5
# cd red5
tahap kedua sekarang buat nama databasenya di Mysql
# mysql -u root -p create openmeetings
edit file /etc/my.cnf, tambahkan berikut ini didalam bagian [mysqld]
default-character-set=utf8
copy dan edit file openmeetings dengan nama mysql_hibernate.cfg.xml
# cd webapps/openmeetings/conf
# cp mysql_hibernate.cfg.xml hibernate.cfg.xml
# vi hibernate.cfg.xml
User / Password
property name= connection.username root property
property name= connection.password secret property rubah yg di bold dengan user privileges mysqlnya dan passwordnya
masuk kedalam direktori /opt/red5
jalankan servicenya
# cd /opt/red5
# ./red5.sh
tunggu sampai port 4445 terlihat, maka bukalah browser anda dengan alamat http://localhost:5080/openmeetings/install

akan tampil menu Installation di browser anda, klik Continue with step 1
kemudian akan kluar tampilan seperti dibawah ini... !!

isikan kebutuhan openmeetings, pada tab dibawah ini silakan default saja atau kosongkan saja

bila telah selesai dalam mengisi konfigurasinya, maka klik INSTALL , akan terlihat sepeti dibawah ini...

klik Enter the Application, maka kluar tampilan seperti berikut dibawah ini

okeh.. sisanya silakan di utak atik yach.. buat user, create room dan lainnya silakan login menggunakan user yg pertama kali dibuat..
salam hangat
OpenMeetings bisa didapat di situs http://code.google.com/p/openmeetings/
fiturnya adalah video conference, audio chat dan pendukung lainnya.
Instalasi OpenMeetings
file-file yang dibutuhkan oleh Open Meetings adalah
- ffmpeg-0.5.1.tar.bz2 bisa menggunakan versi terbaru
- ImageMagick-6.3.2-9.tar.bz2 gunakan versi terbaru
- swftools-0.9.0.tar.gz gunakan versi terbaru
- flash player terbaru untuk linux
- Java terbaru untuk linux
dan tidak lupa Open-Meetings
tahap pertama instalasi Open Meetings
- instalasi terlebih dahulu paket-paket pendukungnya
- ffmpeg
- imagemagick
- swftools
- flash player plugin
- Java terbaru
setelah semua selesai cek terlebih dahulu versi javanya
# java -version
java version "1.6.0"
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK Server VM (build 1.6.0-b09, mixed mode)
bila sudah oke, silakan extract file openMeetingnya kedirektori /opt
buat direktori di dalam /opt
# mkdir /opt/red5
# unzip red5-openmeetings-rc5.zip -d /opt/red5
# cd red5
tahap kedua sekarang buat nama databasenya di Mysql
# mysql -u root -p create openmeetings
edit file /etc/my.cnf, tambahkan berikut ini didalam bagian [mysqld]
default-character-set=utf8
copy dan edit file openmeetings dengan nama mysql_hibernate.cfg.xml
# cd webapps/openmeetings/conf
# cp mysql_hibernate.cfg.xml hibernate.cfg.xml
# vi hibernate.cfg.xml
User / Password
property name= connection.username root property
property name= connection.password secret property
masuk kedalam direktori /opt/red5
jalankan servicenya
# cd /opt/red5
# ./red5.sh
tunggu sampai port 4445 terlihat, maka bukalah browser anda dengan alamat http://localhost:5080/openmeetings/install

akan tampil menu Installation di browser anda, klik Continue with step 1
kemudian akan kluar tampilan seperti dibawah ini... !!

isikan kebutuhan openmeetings, pada tab dibawah ini silakan default saja atau kosongkan saja

bila telah selesai dalam mengisi konfigurasinya, maka klik INSTALL , akan terlihat sepeti dibawah ini...

klik Enter the Application, maka kluar tampilan seperti berikut dibawah ini

okeh.. sisanya silakan di utak atik yach.. buat user, create room dan lainnya silakan login menggunakan user yg pertama kali dibuat..
salam hangat
Jumat, 05 Maret 2010
membangun Chat Server menggunakan Openfire di Centos 5
Instalasi Chat Server menggunakan openfire di Centos 5
langsung aja ga pake banyak cincong nih.. soalnya saya dah kelar instalasi, sisanya lg di utak atik.. hehehe
biar langsung inget nih instalasinya...
download openfire di websitenya yg versi terbaru
file berada dalam dir /usr/local/src
extract openfire ke dalam direktori /opt
# cd /usr/local/src # tar zxvf openfire-3.4.6.tar.gz -C /opt # cd /opt/openfire/bin
saya menggunakan database Mysql, buat dulu databasenya
# mysql -u root -p mysql> create database openfire; <--- terserah mo buat nama databasenya loh
mysql> grant all privileges to *. openuser@localhost identified by 'password'
mysql> quit
masuk kedalam direktori /opt/openfire/bin/resources/database
# cd /opt/openfire/bin/resources/database
lakukan copi data mysql kedalam database mysql
# cat openfire_mysql.sql | mysql -u root -p [namadatabase]
bila sudah selesai jalankan servicesnya :
# /opt/openfire/bin/openfire start
buka web dengan alamat http://localhost:9090
akan kluar tampilan sebagai berikut :

masukan nama domain anda untuk dijadikan alamat webchatnya.


disini saya menggunakan database mysql, jgn lupa masukan username dan password user mysql yg td telah dibuat atau bisa menggunakan root.

dalam tab profile setting saya menggunakan server LDAP, bila tidak menggunakan LDAP maka pilih default saja.

masukan hostname server ldap, jangan lupa isi base DN nya dan administrator DN nya
contoh :
pilih openldap or active directory
Base DN : dc=tester,dc=com
Administrator DN : cn=Manager,dc=tester,dc=com
klik test untuk melihat sudah benarnya koneksi ke server ldap
lalu klik continue


klik continue

klik continue
pilih user administrator untuk mengolah openfire, lalu klik continue

bila semua langkah sudah selesai maka akan kluar tampilan untuk menuju ke admin console
seperti berikut :

masukan username yg telah dibuat tadi dan passwordnya, bila login berhasil maka akan kluar tampilan seperti ini :

nah openfire telah selesai diinstalasi, silakan lakukan configurasi untuk servernya dan clientnya...
disini saya menggunakan spark dan pidgin untuk client.. :D
terima kasih.. last project sudah selesai..
sisanya tinggal tunggu project helpdesk yach..
langsung aja ga pake banyak cincong nih.. soalnya saya dah kelar instalasi, sisanya lg di utak atik.. hehehe
biar langsung inget nih instalasinya...
download openfire di websitenya yg versi terbaru
file berada dalam dir /usr/local/src
extract openfire ke dalam direktori /opt
# cd /usr/local/src # tar zxvf openfire-3.4.6.tar.gz -C /opt # cd /opt/openfire/bin
saya menggunakan database Mysql, buat dulu databasenya
# mysql -u root -p mysql> create database openfire; <--- terserah mo buat nama databasenya loh
mysql> grant all privileges to *. openuser@localhost identified by 'password'
mysql> quit
masuk kedalam direktori /opt/openfire/bin/resources/database
# cd /opt/openfire/bin/resources/database
lakukan copi data mysql kedalam database mysql
# cat openfire_mysql.sql | mysql -u root -p [namadatabase]
bila sudah selesai jalankan servicesnya :
# /opt/openfire/bin/openfire start
buka web dengan alamat http://localhost:9090
akan kluar tampilan sebagai berikut :

masukan nama domain anda untuk dijadikan alamat webchatnya.


disini saya menggunakan database mysql, jgn lupa masukan username dan password user mysql yg td telah dibuat atau bisa menggunakan root.

dalam tab profile setting saya menggunakan server LDAP, bila tidak menggunakan LDAP maka pilih default saja.

masukan hostname server ldap, jangan lupa isi base DN nya dan administrator DN nya
contoh :
pilih openldap or active directory
Base DN : dc=tester,dc=com
Administrator DN : cn=Manager,dc=tester,dc=com
klik test untuk melihat sudah benarnya koneksi ke server ldap
lalu klik continue


klik continue

klik continue
pilih user administrator untuk mengolah openfire, lalu klik continue

bila semua langkah sudah selesai maka akan kluar tampilan untuk menuju ke admin console
seperti berikut :

masukan username yg telah dibuat tadi dan passwordnya, bila login berhasil maka akan kluar tampilan seperti ini :

nah openfire telah selesai diinstalasi, silakan lakukan configurasi untuk servernya dan clientnya...
disini saya menggunakan spark dan pidgin untuk client.. :D
terima kasih.. last project sudah selesai..
sisanya tinggal tunggu project helpdesk yach..
Senin, 01 Maret 2010
Instalasi Postfix Menggunakan Courier IMAP di Centos
Instalasi Postfix Menggunakan Courier IMAP di Centos
I. PENDAHULUAN
Postfix merupakan program server mail yang banyak digunakan karena kemudahan dalam mengkonfigurasinya. Program yang dibuat oleh Wietse Venema ini dirancang supaya mudah dikonfigurasi, aman, dan cepat dalam operasinya. Karena keuntungan-keuntungan yang didapatkan sangat banyak ketika menggunakan postfix, maka banyak distro linux memaketkan program ini kedalam paket distronya yang salah satunya adalah distro Centos. Mungkin banyak tutorial di internet yang telah menjelaskan tentang bagaimana cara instalasi postfix di berbagai macam distro linux namun di dalam tutorial ini, kita akan menginstal postfix di Centos 5.4 dengan virtual domain yang dilengkapi dengan SASL, SSL, Courier Authlib, dan menggunakan Courier IMAP sebagai POP3/IMAP. Kita akan menggunakan mysql sebagai database postfix dan squirrelmail sebagai webmailnya. Dan untuk memudahkan membuat user dan domain di dalam postfix, kita akan menggunakan postfixadmin. Penulis menggunakan domain latihanlinux.co.cc dengan IP 192.168.0.248.
II. INSTALASI POSTFIX
A. Mengorganisasi Paket-Paket
1. Instalasi paket-paket
2. Download Paket-Paket
4. Uninstal Paket-Paket
# yum -y install openldap-devel openldap-servers expect-devel gamin-devel httpd* php*
mysql* rpm-build* libtool gdbm-devel pam-devel gcc-c++ redhat-rpm-config
libtool-ltdl-devel libtool-ltdl postgresql-devel pam-devel
2. Download Paket-Paket
# cd /usr/local/src3. Cek Paket-Paket
# wget ftp://ftp.reverse.net/pub/postfix/official/postfix-2.6.5.tar.gz
# wget ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.22.tar.gz
# wget http://sourceforge.net/projects/courier/files/authlib/0.62.4/courier-authlib-0.62.4.tar.bz2/download
# wget http://sourceforge.net/projects/courier/files/imap/4.5.1/courier-imap-4.5.1.tar.bz2/download
# wget squirrelmail
# wget postfixadmin
# rpm -qa | grep sendmail;rpm -qa | grep postfix;rpm -qa | grep cyrus;rpm -qa | grep dovecot
4. Uninstal Paket-Paket
# rpm -e sendmail-8.13.8-2.el5 sendmail-cf-8.13.8-2.el5 postfix-2.3.3-2.1.el5_2
cyrus-imapd-perl-2.3.7-2.el5 cyrus-imapd-2.3.7-2.el5 cyrus-imapd-2.3.7-2.el5
cyrus-sasl-2.1.22-4 cyrus-imapd-utils-2.3.7-2.el5 dovecot-1.0.7-7.el5 --nodeps
B. Konfigurasi Hostname
1. Merubah Hostname
Penulis mengisi file network sebagai berikut:
2. Merubah Hosts
Penulis merubah file hosts sehingga menjadi seperti berikut:
3. Restart hostname
Restart hostname dengan cara:
Penulis mengisi file network sebagai berikut:
# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=mail
2. Merubah Hosts
Penulis merubah file hosts sehingga menjadi seperti berikut:
# vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.0.248 mail.latihanlinux.co.cc mail
3. Restart hostname
Restart hostname dengan cara:
/bin/hostname -f /etc/hosts
C. Instalasi Cyrus-SASL
Cyrus-SASL merupakan software yang menyediakan metode dan mekanisme yang berbeda untuk autentifikasi.
1. Ekstrak Paket
2. Instalasi Paket
1. Ekstrak Paket
# cd /usr/local/src
# tar -zxvf cyrus-sasl-2.1.22.tar.gz
# cd cyrus-sasl-2.1.22
2. Instalasi Paket
# export CPPFLAGS="-I/usr/include/mysql"
# export LDFLAGS="-L/usr/lib/mysql -lmysqlclient -lz -lm"
# ./configure --enable-anon --enable-plain --enable-login --enable-sql --disable-krb4
--disable-otp --disable-cram --disable-digest --with-mysql=/usr/lib/mysql --without-pam
--without-saslauthd --without-pwcheck --prefix=/usr --with-plugindir=/usr/lib/sasl2;
make -j2; make install
D. Instalasi Postfix
1. Menghapus user dan grup
# userdel postfix
# groupdel postdrop
2. Membuat user dan grup
# groupadd -g 500 postfix
# groupadd -g 501 postdrop
# useradd -g 500 -G postdrop postfix
# id postfix
3. Ekstrak Postfix
Setelah itu, kita akan diberikan banyak pertanyaan tentang folder-folder yang akan dijadikan sebagai folder postfix. Daripada bingung, sebaiknya tekan enter saja semua pertanyaan tersebut karena linux telah menyediakan folder-folder default untuk postfix jika kita menekan enter.
4. Konfigurasi Postfix
a. Konfigurasi main.cf
Perlu diingat bahwa di dalam penulisan di file main.cf diusahakan bagaimana caranya agar satu skrip dalam satu baris khususnya pada bagian smtpd_recipient_restrictions.
b. Membuat file-file
Buat file tersebut di foler /etc/postfix dan tambahkan skrip sebagai berikut:
# cd /usr/local/src
# tar -zxvf postfix-2.6.5.tar.gz
# cd postfix-2.6.5
# make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_TLS
-DUSE_CYRUS_SASL -I/usr/include/sasl' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz
-lm -L/usr/lib -lssl -lcrypto -lsasl2'
# make install
Setelah itu, kita akan diberikan banyak pertanyaan tentang folder-folder yang akan dijadikan sebagai folder postfix. Daripada bingung, sebaiknya tekan enter saja semua pertanyaan tersebut karena linux telah menyediakan folder-folder default untuk postfix jika kita menekan enter.
4. Konfigurasi Postfix
a. Konfigurasi main.cf
# cd /etc/postfix/Tambahkan file main.cf dengan skrip sebagai berikut:
# cp main.cf main.cf.ori
# vi main.cf
alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
home_mailbox = Maildir/
html_directory = no
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
mydomain = latihanlinux.co.cc
myhostname = mail.latihanlinux.co.cc
myorigin = #myhostname
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtp_tls_note_starttls_offer = yes
smtp_use_tls = yes
smtpd_banner = #myhostname ESMTP "mail.latihanlinux.co.cc"
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname, reject_non_fqdn_hostname, reject_unknown_sender_domain,reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_pipelining,reject_unauth_destination,permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = #myhostname
smtpd_sasl_security_options = noanonymous
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
unknown_local_recipient_reject_code = 550
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:500
virtual_mailbox_base = /var/vmail/
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 500
virtual_transport = virtual
virtual_uid_maps = static:500
alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
home_mailbox = Maildir/
html_directory = no
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
mydomain = latihanlinux.co.cc
myhostname = mail.latihanlinux.co.cc
myorigin = #myhostname
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtp_tls_note_starttls_offer = yes
smtp_use_tls = yes
smtpd_banner = #myhostname ESMTP "mail.latihanlinux.co.cc"
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname, reject_non_fqdn_hostname, reject_unknown_sender_domain,reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_pipelining,reject_unauth_destination,permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = #myhostname
smtpd_sasl_security_options = noanonymous
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
unknown_local_recipient_reject_code = 550
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:500
virtual_mailbox_base = /var/vmail/
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 500
virtual_transport = virtual
virtual_uid_maps = static:500
Perlu diingat bahwa di dalam penulisan di file main.cf diusahakan bagaimana caranya agar satu skrip dalam satu baris khususnya pada bagian smtpd_recipient_restrictions.
b. Membuat file-file
Buat file tersebut di foler /etc/postfix dan tambahkan skrip sebagai berikut:
# vi mysql_virtual_alias_maps.cf
user = postfix
password = password123
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = '1'# vi mysql_virtual_domains_maps.cf
user = postfix
password = password123
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s' AND active = '1'# vi mysql_virtual_mailbox_maps.cf
user = postfix
password = password123
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'
E. Membuat Sertifikat SSL
SSL (Secure Sockets Layer) adalah teknologi standar keamanan yang diperlukan untuk komunikasi melalui jaringan seperti internet dan sekarang berubah menjadi TLS (Transport Layer Security). Berikut adalah langkah-langkahnya:# mkdir /etc/postfix/ssl
# cd /etc/postfix/ssl/
# openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
# chmod 600 smtpd.key
# openssl req -new -key smtpd.key -out smtpd.csr
# openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
# openssl rsa -in smtpd.key -out smtpd.key.unencrypted
# mv -f smtpd.key.unencrypted smtpd.key
# openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
# chmod o= /etc/postfix/ssl/smtpd.key
F. Instalasi Courier Authlib
Courier Authlib merupakan sebuah set dari program-program yang dibuat untuk menangani autentifikasi request login ke service-service paket courier IMAP.
# cd /usr/local/src
# rpmbuild -ta courier-authlib-0.62.4.tar.bz2
# cd /usr/src/redhat/RPMS/i386/
# rpm -ivh courier-authlib*
G. Instalasi Courier-IMAP
Courier-IMAP merupakan software dari courier yang digunakan untuk metode pengiriman email. Program ini mendukung format penyimpanan email dengan menggunakan format Maildir. Dalam hal ini kita menggunakan Courier-Imap untuk backend dari webmail squirrelmail. Untuk menginstalasinya, tidak bisa langsung melalui root, tetapi harus non root.
Balik lagi menjadi root
# useradd courierTekan saja Enter untuk menjawab tentang password.
$ su courier
$ mkdir $HOME/rpm
$ mkdir $HOME/rpm/SOURCES
$ mkdir $HOME/rpm/SPECS
$ mkdir $HOME/rpm/BUILD
$ mkdir $HOME/rpm/SRPMS
$ mkdir $HOME/rpm/RPMS
$ mkdir $HOME/rpm/RPMS/i386
$ echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros
$ mkdir $HOME/downloads
$ cd $HOME/downloads
$ cd /usr/local/src
$ sudo mv courier-imap* $HOME/downloads
$ rpmbuild -ta courier-imap*
Balik lagi menjadi root
$ su
# cd /home/courier/rpm/RPMS/i386
# rpm -ivh courier-imap*
H. Edit File-File
1. Edit file authmysqlrc
Tambahkan di file authmysqlrc dengan skrip sebagai berikut:
2. File authdaemonrc
Rubah file authdaemonrc dengan cara merubah authmodulelist dan DEBUG_LOGIN:
3. Membuat file SMTP-AUTH
Buat file smtpd.conf dan tambahkan skrip di bawah:
4. Membuat file direktori vmail
File vmail digunakan untuk menyimpan data user postfix.
Tambahkan di file authmysqlrc dengan skrip sebagai berikut:
# cd /etc/authlib/
# mv authmysqlrc authmysqlrc.ori
# vi /etc/authlib/authmysqlrc
MYSQL_SERVER localhost
MYSQL_USERNAME postfix
MYSQL_PASSWORD password123
MYSQL_PORT 0
MYSQL_OPT 0
MYSQL_DATABASE postfix
MYSQL_USER_TABLE mailbox
MYSQL_CRYPT_PWFIELD password
MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD '500'
MYSQL_GID_FIELD '500'
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD '/var/vmail/'
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD maildir
2. File authdaemonrc
Rubah file authdaemonrc dengan cara merubah authmodulelist dan DEBUG_LOGIN:
# cp authdaemonrc authdaemonrc.ori
# vi authdaemonrc
authmodulelist="authmysql authpam"
DEBUG_LOGIN=1
3. Membuat file SMTP-AUTH
Buat file smtpd.conf dan tambahkan skrip di bawah:
# vi /usr/lib/sasl2/smtpd.conf
pwcheck_method: authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/var/spool/authdaemon/socket
# chmod o+x /var/spool/authdaemon
4. Membuat file direktori vmail
File vmail digunakan untuk menyimpan data user postfix.
# mkdir /var/vmail
# chown -R postfix:postfix /var/vmail/
I. MENYALAKAN SERVICE
1. Nyalakan courier-authlib
2. Nyalakan authdaemon
# chkconfig --levels 235 courier-authlib on
# /etc/init.d/courier-authlib start
2. Nyalakan authdaemon
# chkconfig --levels 235 courier-imap on
# /etc/init.d/courier-imap start
3. Nyalakan Postfix
# postfix startTROUBLESHOOTING
Jika ada error seperti ini:
Hal ini dikarenakan kita tidak menulis salah satu bagian skrip di /etc/postfix/main.cf dalam satu baris. Usahakanlah bagaimana caranya agar satu skrip di dalam file tersebut berada dalam satu baris. Jika sudah diperbaiki, tuliskan perintah postfix start dan seharusnya postfix sudah dapat menyala dengan baik seperti pada gambar:
J. Menginstal Postfixadmin
1. Ekstrak Paket
2. Konfigurasi Postfixadmin
Merubah file config.inc.php menjadi seperti berikut:
# cd /usr/local/src
# tar -zxvf postfixadmin_2.3.tar.gz
2. Konfigurasi Postfixadmin
# mv postfixadmin-2.3 postfixadmin
# cp -r postfixadmin /var/www/html/
# cd /var/www/html/postfixadmin
Merubah file config.inc.php menjadi seperti berikut:
# vi config.inc.php
$CONF['configured'] = true;
$CONF['database_type'] = 'mysql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'password123';
$CONF['database_name'] = 'postfix';
$CONF['database_prefix'] = '';
K. Konfigurasi mysql
1. Masuk ke mysql
# mysql -u root -p2. Membuat database postfix
> create database postfix;3. Membuat Grant untuk database postfix
> grant all on postfix.* to postfix@localhost identified by 'password123';
> \q
L. Melihat Postfixadmin
1. Restart webserver
# service httpd restart2. Lihat ke browser lalu ketikkan:
http://alamat_ip/postfixadmin/setup.phpJika tidak ada error, maka akan terlihat sebagai berikut:
Masukkan password di dalam kotak yang telah disediakan Lalu tekan tombol Generate Password Hash.
Kemudian terlihat gambar seperti ini:
Masukkan password yang sudah digenerate itu (ce3157e...) ke dalam file conf.inc.php yang berada di folder /var/www/html/postfixadmin pada bagian $CONF['setup_password']. Setelah itu isi kotak Setup password yang berada di atas dengan menuliskan password yang belum digenerate. Kemudian tuliskan email admin dan password yang akan digunakan untuk mengakses postfixadmin. Jika semuanya selesai dan tidak ada error, maka Setelah kita menekan tombol Add Admin, akan terlihat gambar seperti berikut:
Masukkan nama email dan password yang sudah kita buat sebelumnya. Jika sudah tekan tombol Login dan akan terlihat gambar seperti berikut:
Kita akan membuat virtual domain dan user account email. Untuk membuat domain baru, pilih item Domain List, lalu pilih New Domain. Sedangkan untuk membuat user account yang baru pilih item Virtual List lalu pilih Add Mailbox. Di tutorial ini, penulis membuat domain latihanlinux.co.cc dengan akun email budi@latihanlinux.co.cc This e-mail address is being protected from spambots, you need JavaScript enabled to view it .
M. Instalasi Webmail
Webmail yang akan kita gunakan adalah squirrelmail. Berikut adalah langkah-langkahnya:
# cd /usr/local/src
# tar -zxvf squirrelmail-1.4.19.tar.gz
# mv squirrelmail-1.4.19 webmail
# mv webmail /var/www/html/
# mkdir -p /var/local/squirrelmail/data/
# mkdir -p /var/local/squirrelmail/attach/
# chown apache:apache /var/local/squirrelmail/data/
# chown apache:apache /var/local/squirrelmail/attach/
Kemudian kita konfigurasi webmail dengan cara:
# cd /var/www/html/webmail
# ./configure
- Pilih Nomor 2 (Server Settings)
- Pilih Huruf A (Update IMAP Settings)
- Pilih Nomor 6 (Authentification type)
Jawab Pertanyaan dengan menjawab N dan login
- Pilih Nomor 8 (Server Software)
Tulis courier
- Pilih Huruf B (Update SMTP Settings)
- Pilih Nomor 7 (SMTP Authentification)
Jawab Pertanyaan dengan N, login, dan N
- Pilih Huruf S
- Pilih Huruf Q
Jika tidak ada error, maka bisa melihat webmail ini dengan membuka browser namun sebelumnya restart webserver terlebih dahulu:
http://alamat_ip/webmail
Masukkan username dan passwordnya, dan setelah itu tekan tombol Login. Maka, akan terlihat sebagai berikut:
TROUBLESHOOTING
Jika setelah menekan tombol login, terlihat gambar seperti berikut:
Masalah ini biasanya timbul jika kita menginstal squirrelmail bawaan dari centos atau menginstalnya melalui yum. Untuk menghilangkannya, coba ke folder /etc/squirrelmail lalu buka file config_local.php kemudian hapus atau beri tanda pagar pada bagian $default_folder_prefix. Setelah itu restart webserver dan seharusnya error itu sudah hilang.
III. Testing Postfix
Jika kita sudah selesai menginstal postfix dan membuat postfixadmin, kini saatnya kita menguji postfix.
1. Pengujian Courier Authdaemon
Untuk menguji Authdaemon, ketikkan format sebagai berikut:
1. Pengujian Courier Authdaemon
Untuk menguji Authdaemon, ketikkan format sebagai berikut:
# authtest -s smtp alamat_email password_emailUntuk lebih jelasnya perhatikan gambar di bawah ini:
2. Pengujian POP3
Untuk menguji POP3 dalam sistem kita, ketikkan format sebagai berikut:
Untuk menguji POP3 dalam sistem kita, ketikkan format sebagai berikut:
# telnet localhost 110lalu masukkan alamat email dengan terlebih dahulu menulis kata user. Setelah itu masukkan password dengan terlebih dahulu menulis kata pass. Untuk lebih jelasnya perhatikan gambar berikut:
3. Pengujian IMAP
Untuk menguji IMAP, kita menggunakan format:
Untuk menguji IMAP, kita menggunakan format:
# telnet localhost 143lalu tuliskan a login kemudian tuliskan alamat_email dan passwordnya. Jika mau keluar tulis a logout. Untuk lebih jelasnya perhatikan gambar berikut:
4. Pengujian smtp
Untuk menguji smtp, tuliskan perintah berikut:
# telnet localhost 25
setelah itu tuliskan ehlo localhost maka akan tampil item-item. Tuliskan starttls untuk melihat apakah smtp kita dapat menggunakn tls atau tidak. Untuk keluar gunakan perintah quit sebanyak 2 kali. Untuk lebih jelasnya perhatikan gambar berikut:
6. Menguji email
Untuk menguji email, buatlah 2 user dengan menggunakan postfixadmin dan cobalah saling kirim dengan menggunakan webmail (squirrelmail) dan seharusnya email sudah dapat saling terkirim dengan baik. Jika email tidak terkirim, cobalah cek error lognya di /var/log/maillog.
Untuk menguji email, buatlah 2 user dengan menggunakan postfixadmin dan cobalah saling kirim dengan menggunakan webmail (squirrelmail) dan seharusnya email sudah dapat saling terkirim dengan baik. Jika email tidak terkirim, cobalah cek error lognya di /var/log/maillog.
Kamis, 21 Januari 2010
Merubah tanggal system di linux
Tanggal komputer sering kali salah, untuk melakukan perubahan caranya yaitu :
* cek tanggal sekarang
# date
Tue Sep 7 11:48:37 EDT 2009
* Ganti tanggal menjadi 8 September 2009
# date +%Y%m%d -s 20090908
20090908
hasilnya jika di cek yaitu : Tue Sep 8 00:00:02 EDT 2009
ternyata jamnya menjadi 00
* Ganti jam menjadi 11:50:00
# date +%T -s 11:50:00
11:50:00
hasilnya jika di cek yaitu : Tue Sep 8 11:50:10 EDT 2009
jam dan tanggal sudah benar, akan tetapi timezone mash salah
default masih EDT
* Ganti time zone ke WIB atau bahasa inggrisnya WIT (West Indonesian Time)
1. Data zone disimpan di file /etc/localtime
2. Data zona selengkapnya disimpan di /usr/share/zoneinfo/nama kota, sehingga kalai untuk Jakarta filenya yaitu /usr/share/zoneinfo/Asia/Jakarta
3. ganti file /etc/localtime agar sama dengan file di point ke 2
# mv /etc/localtime /etc/localtime.old
# ln -s /usr/share/zoneinfo/Asia/Jakarta /etc/localtime
hasilnya jika di cek yaitu : Tue Sep 8 23:52:40 WIT 2009
ternyata hasil jamnya malah salah, jadi disesuaikan lagi
# date +%T -s 11:52:00
hasilnya jika dicek yaitu : Tue Sep 8 11:52:02 WIT 2009
* sesuaikan jam system linuk dengan jam komputer (Hardware)
1. system akan melakukan penyesuaian dengan jam komputer saat startup
2. untuk melihat jam komputer dengan perintah “hwclock”
3. untuk merubah jam komputer agar sesuai dengan sistem dengan perintah “hwclock –systohc”
# hwclock
Tue 07 Sep 2009 12:25:27 PM WIT -0.126089 seconds
# hwclock –systohc
cek hasilnya :
# hwclock
Tue 08 Sep 2009 12:25:27 PM WIT -0.126089 seconds
# date
Tue Sep 8 12:25:28 WIT 2009
* cek tanggal sekarang
# date
Tue Sep 7 11:48:37 EDT 2009
* Ganti tanggal menjadi 8 September 2009
# date +%Y%m%d -s 20090908
20090908
hasilnya jika di cek yaitu : Tue Sep 8 00:00:02 EDT 2009
ternyata jamnya menjadi 00
* Ganti jam menjadi 11:50:00
# date +%T -s 11:50:00
11:50:00
hasilnya jika di cek yaitu : Tue Sep 8 11:50:10 EDT 2009
jam dan tanggal sudah benar, akan tetapi timezone mash salah
default masih EDT
* Ganti time zone ke WIB atau bahasa inggrisnya WIT (West Indonesian Time)
1. Data zone disimpan di file /etc/localtime
2. Data zona selengkapnya disimpan di /usr/share/zoneinfo/nama kota, sehingga kalai untuk Jakarta filenya yaitu /usr/share/zoneinfo/Asia/Jakarta
3. ganti file /etc/localtime agar sama dengan file di point ke 2
# mv /etc/localtime /etc/localtime.old
# ln -s /usr/share/zoneinfo/Asia/Jakarta /etc/localtime
hasilnya jika di cek yaitu : Tue Sep 8 23:52:40 WIT 2009
ternyata hasil jamnya malah salah, jadi disesuaikan lagi
# date +%T -s 11:52:00
hasilnya jika dicek yaitu : Tue Sep 8 11:52:02 WIT 2009
* sesuaikan jam system linuk dengan jam komputer (Hardware)
1. system akan melakukan penyesuaian dengan jam komputer saat startup
2. untuk melihat jam komputer dengan perintah “hwclock”
3. untuk merubah jam komputer agar sesuai dengan sistem dengan perintah “hwclock –systohc”
# hwclock
Tue 07 Sep 2009 12:25:27 PM WIT -0.126089 seconds
# hwclock –systohc
cek hasilnya :
# hwclock
Tue 08 Sep 2009 12:25:27 PM WIT -0.126089 seconds
# date
Tue Sep 8 12:25:28 WIT 2009
Langganan:
Postingan (Atom)