

1. Instalacja Systemu Linux
2. Instalacja APACHE2 + MySQL + PHP5
3. INSTALACJA FTP
4. Instalacja Webmina
WIĘC ZACZNIJMY:
1. Instalujemy system Linux - nie będę się rozpisywał nad instalką, gdyż jest tak intuicyjna że każdy sobie z tym poradzi - zarówno z wersją serwerową, jak i desktopem. Zaznaczam że instalujemy sobie jedynie podstawową wersję systemu.
A) Po zainstalowaniu systemu wchodzimy do konsoli (wersja desktop) lub po prostu logujemy się do systemu (wersja server)
Kod: Zaznacz cały
sudo su
Kod: Zaznacz cały
sudo apt-get install openssh-server
Kod: Zaznacz cały
sudo apt-get upgrade && apt-get update
2. INSTALACJA APACHE2 + MySQL + PHP:
Kod: Zaznacz cały
sudo apt-get install apache2
Kod: Zaznacz cały
sudo apt-get install PHP5
Kod: Zaznacz cały
sudo apt-get install php-pear
sudo apt-get install php5-xsl
sudo apt-get install php5-gd
sudo apt-get install php5-ming
Kod: Zaznacz cały
sudo apt-get install mysql-server
Kod: Zaznacz cały
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
Kod: Zaznacz cały
sudo apt-get install phpmyadmin
by otworzyć pierwszy wpisujemy w konsoli:
Kod: Zaznacz cały
sudo nano /etc/phpmyadmin/apache.conf
Kod: Zaznacz cały
sudo gedit /etc/phpmyadmin/apache.conf
Identycznie postępujemy, by otworzyć plik drugi, po skopiowaniu zawartości pierwszego pliku i wklejamy na końcu skopiowaną zawartość.
TERAZ - aby wszystko funkcjonowało poprawnie należy zresetować serwer APACHE:
Kod: Zaznacz cały
sudo /etc/init.d/apache2 restart
Kod: Zaznacz cały
apt-get install pure-ftpd-mysql
Kod: Zaznacz cały
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser
Kod: Zaznacz cały
mysql -u root -p
podajemy nasze hasło do bazy danych i się do niej logujemy, można też wpisać
mysql -u root nasze_hasło <- ale nie zalecam tej opcji przy łączeniu zdalnym z naszym serwerem (dla bezpieczeństwa)
CREATE DATABASE pureftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost' IDENTIFIED BY 'ftpdpass';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost.localdomain' IDENTIFIED BY 'ftpdpass';
FLUSH PRIVILEGES;
Tworzymy bazę danych pureftpd, oraz nadajemy jej odpowiednie atrybuty. Zamiast 'ftpdpass' <-> wpisujemy 'nasze_haslo_uzytkownika_pureftpd_do_bazy_MySQL'
USER pureftpd;
Przechodzimy do bazy pureftpd
CREATE TABLE ftpd (
varchar użytkownika ( 16 ) NOT NULL DEFAULT '' ,
STATUS enum ( '0 ' , '1 ' ) NOT NULL DEFAULT '0 ' ,
varchar Hasło ( 64 ) NOT NULL DEFAULT '' ,
varchar Uid ( 11 ) NIE NULL DEFAULT "-1" ,
Gid varchar ( 11 ) NOT NULL DEFAULT "-1" ,
Dir varchar ( 128 ) NOT NULL DEFAULT '' ,
smallint ULBandwidth ( 5 ) NOT NULL DEFAULT '0 ' ,
smallint DLBandwidth ( 5 ) NOT NULL DEFAULT '0 ' ,
komentarz tinytext NOT NULL ,
ipaccess varchar ( 15 ) NOT NULL DEFAULT '*' ,
smallint QuotaSize ( 5 ) NOT NULL DEFAULT '0 ' ,
int QuotaFiles ( 11 ) NOT NULL DEFAULT 0 ,
PRIMARY KEY ( użytkownika ) ,
UNIQUE KEY użytkownika ( User )
) TYPE = MyISAM;
Tworzymy w naszej bazie odpowiednie tabele :-)
quit;
wychodzimy z edycji MySQL
cp /etc/pure-ftpd/db/mysql.conf /etc/pure-ftpd/db/mysql.conf_orig
cat /dev/null > /etc/pure-ftpd/db/mysql.conf
vim /etc/pure-ftpd/db/mysql.conf
aby skopiować plik conf naszej bazy (utworzyć kopię zapasową), oraz wyedytować plik conf
MYSQLSocket /var/run/mysqld/mysqld.sock
#MYSQLServer localhost
#MYSQLPort 3306
MYSQLUser pureftpd
MYSQLPassword ftpdpass
MYSQLDatabase pureftpd
#MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext
MYSQLCrypt md5
MYSQLGetPW SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetUID SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetGID SELECT Gid FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetDir SELECT Dir FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTASZ SELECT QuotaSize FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTAFS SELECT QuotaFiles FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
To jest zawartość naszego pliku MySQL.conf
MYSQLUser pureftpd
MYSQLPassword ftpdpass
MYSQLDatabase pureftpd
Te trzy linijki edytujemy według naszych wcześniejszych ustawień, zmienialiśmy jedynie hasło "ftpdpass" <- wpisujemy hasło, którego użytliśmy wcześniej.
Tworzymy teraz trzy pliki niezbędne do działania FTP ;-)
sudo nano /etc/pure-ftpd/conf/ChrootEveryone
w środku pliku wpisujemy jedynie słowo -> yes <- i zapisujemy poprzez naciśnięcie F2
sudo nano /etc/pure-ftpd/conf/CreateHomeDir
w środku pliku wpisujemy jedynie słowo -> yes <- i zapisujemy poprzez naciśnięcie F2
sudo nano /etc/pure-ftpd/conf/DontResolve
w środku pliku wpisujemy jedynie słowo -> yes <- i zapisujemy poprzez naciśnięcie F2
aby nasz FTP działał trzeba go jeszcze tylko zresetować
sudo /etc/init.d/pure-ftpd-mysql restart
Aby dodać teraz użytkownika FTP wchodzimy do naszego php my admina -> http://localhost/phpmyadmin, podajemy dane do logowania, wchodzimy w bazę "pureftpd" i klikamy na zakładkę "SQL" w okienku które nam się pojawi wklepujemy:
INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES (NASZ_UŻYTKOWNIK_FTP', '1', MD5('HASŁO_NASZEGO_USERA_FTP'), '2001', '2001', '/var/www', '100', '100', '', '*', '50', '0');
podmieniamy dane:
-> NASZ_UŻYTKOWNIK_FTP
-> HASŁO_NASZEGO_USERA_FTP
oraz jeśli chcemy to ostatnie trzy liczby -> pierwsza liczba 100 to limit Uploadu (podany w megabajtach) dla naszego usera, druga liczba 100 to limit download (podany w megabajtach) dla naszego usera, a trzecia liczba 50, to pojemność konta (podana w megabajtach) naszego usera FTP na dysku
logujemy się teraz przez obojętnie jakiego klienta FTP na nasz serwer podając dane usera i hasła, które utworzyliśmy przed chwilą, w folderze /var/www/* zostanie utworzony katalog z nazwą użytkownika FTP i tam będą jego pliki :-)
4. INSTALACJA WEBMINA (zarządzanie serwerem przez www)
sudo nano /etc/apt/sources.list
i na końcu wpisujemy linijkę -> deb http://download.webmin.com/download/repository sarge contrib <- zapisujemy plik poprzez naciśnięcie F2
cd /root
przechodzimy do katalogu root`a
sudo wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
dodajemy klucz CPG
sudo apt-get update
aktualizujemy nasze repozytoria
sudo apt-get install webmin
Aby zalogować się do naszego webmina wpisujemy w przeglądarce adres https://localhost:10000 <- wyskoczy nam powiadomienie o akceptację klucza, akceptujemy go i logujemy się kontem admina systemu
