Debian 4.0 – Proftpd ve MySQL ile Virtual Hosting

Daha onceki yazilarimizda Debian 4.0 sistem kurulumunu yapmistik. Hatta uzerine apache, mysql vb programlarida kurmustuk. Bu yazimizda ise temel Debian 4.0 Etch uzerine kota destekli virtual hosting sistemi kuracagiz. Bu is icin ProFTPd ve MySQL serverlarini kullanacagiz.

Bu makalede Debian 4.0 Etch uzerine;

  • MySQL Kurulumu
  • PhpMyAdmin Kurulumu
  • MySQL Destekli ProFTPd Kurulumu
  • Apache2 Kurulumu

yapacagiz.

1. MySQL ve PhpMyAdmin Kurulumu

apt-get install mysql-server mysql-client libmysqlclient15-dev phpmyadmin apache2

komutu ile tek satirda istedigim programlarin kurulmasini sagliyorum.

Kurulum isleminin ardindan benim icin buyuk risk tasiyan database root sifremi ayarliyorum;

mysqladmin -u root password dinopsys

mysql root sifremi dinopsys olarak atadim.

2. Mysql destekli ProFTPd Kurulumu

apt-get install proftpd-mysql

kurulum icin yukaridaki gerekli komutu calistiriyorum ve bana sordugu soruya;

Run proftpd from inetd or standalone? <– standalone

seklinde yanit veriyorum.

Simdi bir ftpgroup ismiyle grup, ftpuser ismiylede user olusturacagim;

groupadd -g 2007 ftpgroup
useradd -u 2007 -s /bin/false -d /bin/null -c “proftpd user” -g ftpgroup ftpuser

yukaridaki komutlarla id si 2007 olan kullanici ve gruplarimi olusturdum.

3. ProFtp icin MySQL database’ i olusturalim

mysql -u root -p

komutu ile sifremizi girerek mysql’ e root olarak login olalim.

Sirasiyla;

create database ftp;
GRANT SELECT, INSERT, UPDATE, DELETE ON ftp.* TO ‘proftpd’@’localhost’ IDENTIFIED BY ‘dinopsysftp’;
GRANT SELECT, INSERT, UPDATE, DELETE ON ftp.* TO ‘proftpd’@’localhost.localdomain’ IDENTIFIED BY ‘dinopsysftp’;
FLUSH PRIVILEGES;

database imizi olusturduk kullanici adi ve sifrenizi belirttik. Simdi gerekli database tablolarini olusturalim;

USE ftp;

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’;

quit;

ftpgroup, ftpquotalimits, ftpquotatallies, ftpuser tablolarini olusturduk. Daha sonra phpmyadmin vasitasi ile user ekleyecegiz, silecegiz, duzenleyecegiz.

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.