26.02.2009

Yusuf ile Proftpd+MySQLD Yukleme (RHEL 5.2 x86_64 Uzerine) II


Kuruluma devam ediyoruz.
sorunu astiktan sonra yapacagimiz ilk sey make clean yapmak. Sonucta sistemimize saf proftpd kurulabildigini gorduk. Bundan sonraki amacimiz mysql destekli proftpd kurmak o yuzden:
find / -name mysql yapip icinde include ve lib(64) gecen satirlari cikarmak olacak.
Eger bu satirlar varsa kuruluma devam edebiliriz. Vermemiz gereken configure cumlecigi su sekilde:

./configure --enable-dso --with-shared=mod_sql:mod_sql_mysql --with-libraries=/usr/lib64/mysql --with-includes=/usr/include/mysql/

Sorun donmemisse isimiz bitmis sayilir.
Ancak biz bununla yetinmedik; kurmusken ssl ve ldap destegi de vermek istedik Proftpd ye.
make clean yaptik. Sonra da find / -name openssl . Eger mysql deki gibi include ve lib(64) lu sonuclar donuyorsa son calistirilacak cumlecik su:

./configure --enable-dso --with-modules=mod_tls --with-shared=mod_sql:mod_sql_mysql --with-libraries=/usr/lib64/mysql:/usr/lib64/openssl/ --with-includes=/usr/include/mysql/:/usr/include/openssl/

Eger problem donmediyse make && make install yapiyoruz.
Isimizin %80 i bitti artik.

Simdi Proftpd'nin servis kullanicisini yaratacagiz:

groupadd proftpd && useradd -s /bin/false -c "Proftpd Daemon User" -d /etc/proftpd -g proftpd -u 1005 proftpd


Kullanici gercekten olustu mu diye bakalim:

id proftpd

Simdi cd /etc/proftpd yapalim, orda vi proftpd.conf yapip kullaniciyi proftpd sistemine girelim.

User proftpd

Group proftpd

(Burada kullaniciyi Anonymous bolumundeki User ve Group'a girmemeye dikkat ediyoruz.)

Simdi daemon calisiyor mu diye kontrol etme zamani geldi/

/usr/local/sbin/proftpd

hemen ardindan netstat -antvlup yapip 21. port var mi diye bakalim.

Cevap evetse mysql konfigurasyonu ile devam ediyoruz.


$ mysql -uroot -psifre

mysql> create database proftpd;

mysql> GRANT ALL PRIVILEGES ON proftpd.* to 'proftpd_dbuser'@'localhost' IDENTIFIED BY 'proftpd_sifre' ;

arindan proftpdnin ihtiyac duyacagi tablelari olusturuyoruz.

mysql> use proftpd;

mysql> CREATE TABLE ftpgroup (
groupname varchar(16) NOT NULL default '',
gid smallint(6) NOT NULL default '5500',
members varchar(16) NOT NULL default '',
KEY groupname (groupname)
) TYPE=MyISAM COMMENT='ProFTP group table';

CREATE TABLE ftpquotalimits (
name varchar(30) default NULL,
quota_type enum('user','group','class','all') NOT NULL default 'user',
per_session enum('false','true') NOT NULL default 'false',
limit_type enum('soft','hard') NOT NULL default 'soft',
bytes_in_avail int(10) unsigned NOT NULL default '0',
bytes_out_avail int(10) unsigned NOT NULL default '0',
bytes_xfer_avail int(10) unsigned NOT NULL default '0',
files_in_avail int(10) unsigned NOT NULL default '0',
files_out_avail int(10) unsigned NOT NULL default '0',
files_xfer_avail int(10) unsigned NOT NULL default '0'
) TYPE=MyISAM;

CREATE TABLE ftpquotatallies (
name varchar(30) NOT NULL default '',
quota_type enum('user','group','class','all') NOT NULL default 'user',
bytes_in_used int(10) unsigned NOT NULL default '0',
bytes_out_used int(10) unsigned NOT NULL default '0',
bytes_xfer_used int(10) unsigned NOT NULL default '0',
files_in_used int(10) unsigned NOT NULL default '0',
files_out_used int(10) unsigned NOT NULL default '0',
files_xfer_used int(10) unsigned NOT NULL default '0'
) TYPE=MyISAM;

CREATE TABLE ftpuser (
id int(10) unsigned NOT NULL auto_increment,
userid varchar(32) NOT NULL default '',
passwd varchar(32) NOT NULL default '',
uid smallint(6) NOT NULL default '5500',
gid smallint(6) NOT NULL default '5500',
homedir varchar(255) NOT NULL default '',
shell varchar(16) NOT NULL default '/sbin/nologin',
count int(11) NOT NULL default '0',
accessed datetime NOT NULL default '0000-00-00 00:00:00',
modified datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (id),
UNIQUE KEY userid (userid)
) TYPE=MyISAM COMMENT='ProFTP user table';

mysql> exit;