Strona 1 z 1

Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 17 lut 2011, 13:38
autor: wowo89
Zapewne wielu z was chciałoby mieć własny serwer dedykowany, żeby postawić swoją stronki czy udostępnić komuś pliki, dlatego też powstał ten TUTORIAL ;-) Jestem dobrej myśli że ktoś podwiesi temat :-)

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 
podajemy swój login, oraz hasło, aby przejść do konta admina

Kod: Zaznacz cały

 sudo apt-get install openssh-server 
instalujemy sobie serwer SSH (Shell) aby móc się łączyć zdalnie z naszym serwerem z każdego innego komputera majacego dostęp do internetu

Kod: Zaznacz cały

 sudo apt-get upgrade && apt-get update  
wszelkie aktualizacje

2. INSTALACJA APACHE2 + MySQL + PHP:

Kod: Zaznacz cały

 sudo apt-get install apache2 
Instalacja serwera apache2

Kod: Zaznacz cały

 sudo apt-get install PHP5 
Instalacja 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
Instalacja wtyczek do PHP5

Kod: Zaznacz cały

sudo apt-get install mysql-server
Instalacja serwera MySQL

Kod: Zaznacz cały

sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
Instalacja MySQL w Apache i PHP

Kod: Zaznacz cały

sudo apt-get install phpmyadmin
Instalacja PHPMYADMIN -> aby działał poprawnie musimy skopiować zawartość pliku /etc/phpmyadmin/apache.conf <-> na koniec pliku <-> /etc/apache2/apache2.conf

by otworzyć pierwszy wpisujemy w konsoli:

Kod: Zaznacz cały

sudo nano /etc/phpmyadmin/apache.conf
<- wersja server

Kod: Zaznacz cały

sudo gedit /etc/phpmyadmin/apache.conf
<- wersja desktop

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
3. Instalacja pureFTPd

Kod: Zaznacz cały

apt-get install pure-ftpd-mysql
Instalujemy pure ftpd dla MySQL

Kod: Zaznacz cały

groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g  ftpgroup ftpuser
Tworzenie grupy "ftp", oraz użytkownika "ftp"

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
EBMINA

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 :)

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 17 lut 2011, 14:29
autor: leon1313
Bez urazy, fajny tutorial dla lamerów, ale wiesz, do czego służy sudo???

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 17 lut 2011, 15:12
autor: wowo89
wiem :P a wiesz że jak robisz przez shella szczególnie korzystając z putty, to bez polecenia sudo prawie nic nie przejdzie? szczególnie jeśli odpalasz putty na Win7? :P dlatego napisałem "lamersko" jak to nazwałeś :P i fakt - dla lamerów, ale przyda się początkującym, bo jest wszystko w jednym miejscu :)

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 17 lut 2011, 22:10
autor: Olgierd94
wowo89 a działa ten tutorial na Debianie poprawnie??

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 17 lut 2011, 23:00
autor: leon1313
Jesli chcesz się zalogować na konto root-a, to :

Kod: Zaznacz cały

sudo su -
Ta mała kreska na końcu robi różnicę.
Po zalogowani na konto roota dodatek "sudo" przed resztą komend jest zbędny.
Wersja "server" umożliwia zainstalowanie LAMP-a i serwera ssh w czasie instalacji samego systemu.

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 17 lut 2011, 23:05
autor: wowo89
tak :)

Leon - ale mimo wszystko putty na Win7 odpalone do większości poleceń wymaga komendy "sudo" do tego najlepiej przy instalacji nowych pakietów, na końcu dodać " -s" bo inaczej wyskoczy powiadomienie "zostanie na dysku użyte XX MB" i po wybraniu opcji "tak" dostajesz zwrotną wiadomość "przerwano" :)

Wracając do LAMPa - nie mam zaufania - do tego wolę zainstalować wszystko krok po kroku samemu i skonfigurować na swój sposób :)

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 18 lut 2011, 04:56
autor: jacekalex
Ten tutek pachnie lamerstwem na kilometr.

jak ktoś nie dorósł do magicznego poziomu:

Kod: Zaznacz cały

echo 'yes' > /etc/pure-ftpd/conf/ChrootEveryone 
to lepiej niech się za tutki nie bierze, tylko w najlepszym razie za pieluszki, i to własne.
Albo przynajmniej poćwicz kopiowanie poleceń myszką, np dla pure z tego źródła.

To by było na tyle
:craz:

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 18 lut 2011, 13:17
autor: wowo89
sorry, ale stronę którą podałeś pierwszy raz na oczy widzę :) więc bez obrażania mnie proszę

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 19 lut 2011, 05:50
autor: jacekalex
To napisz np, co to za plik jest wytłuszczony w tym poleceniu:
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser
bo ja taki widzę 1 raz w życiu, i w ogóle, jakie trzeba mieć doświadczenie, żeby pisać podręczniki.
Bo z twojego tutka widzę, że doświadczenie masz znacznie mniejsze, niż Ci się wydaje.

Już pomijając podstawowe kwestie bezpieczeństwa serwera dedykowanego, bo wg Twojego przepisu, raczej nie stawiałbym takiego serwera, żeby nie robić skrypciarzom uciechy.

Większość sławnych zabezpieczeń Linuxa trzeba włączyć i skonfigurować, i to porządnie.

Doświadczenie natomiast jest potrzebne do tego, żeby ktoś zdawał sobie sprawę z tego,
czego nie wie o danym zagadnieniu.

To by było na tyle
:craz:

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 20 lut 2011, 17:00
autor: wowo89
a czy ja napisałem że to jest serwer do użytku nie wiadomo jakiego? jeśli chcesz postawić na nim swoją stronkę w domu i chcesz mieć własny serwer do zabawy :) fakt - doświadczenia w linuxie nie mam, wszystko co tu napisałem, robiłem 3dni, wszystkiego szukałem na forach anglo-języcznych, jakichś tutków po ENG i sobie tłumaczyłem, napisałem to dla takich osób takich jak ja sam, bo uwierz mi wielu takich jest, linuxa dopiero poznaję i tego nie ukrywam, nie mam doświadczenia, lepiej byście dopisali coś konstruktywnego - jak to zabezpieczyć, co zmienić, co poprawić, a nie od razu negujecie wszystko i wieszacie na ludziach psy

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 20 lut 2011, 19:24
autor: jacekalex
wowo89 pisze:a czy ja napisałem że to jest serwer do użytku nie wiadomo jakiego? jeśli chcesz postawić na nim swoją stronkę w domu i chcesz mieć własny serwer do zabawy :) fakt - doświadczenia w linuxie nie mam, wszystko co tu napisałem, robiłem 3dni, wszystkiego szukałem na forach anglo-języcznych, jakichś tutków po ENG i sobie tłumaczyłem, napisałem to dla takich osób takich jak ja sam, bo uwierz mi wielu takich jest, linuxa dopiero poznaję i tego nie ukrywam, nie mam doświadczenia, lepiej byście dopisali coś konstruktywnego - jak to zabezpieczyć, co zmienić, co poprawić, a nie od razu negujecie wszystko i wieszacie na ludziach psy
Psy to mądre zwierzaki, i należy im się szacunek.

Co do tutka pisanego przez początkujących:
jeśli chcesz postawić na nim swoją stronkę w domu
W temacie piszesz o serwerze dedykowanym, a takie się wynajmuje w internecie, pod poważne serwisy internetowe.

W domu każdy może robić dla siebie, co mu się podoba.
Ale jeśli piszesz o serwerze dedykowanym, to takie są nie w domach, tylko w dużych firmach hostingowych.

A jak chcesz pisać tutki o stawianiu serwerów, to najpierw skonfiguruj i porządnie przetestuj taki serwer, w warunkach prawdziwego serwera dedykowanego, i niech trochę pochodzi w internecie, a potem opisz swoje doświadczenia.

I nie wieszanie psów, ja po prostu nikomu nie życzę stawiania serwera wg poradnika, którego autor nie zna zagadnienia, które opisuje.

Jak udzielasz porady, to bierzesz odpowiedzialność za tą poradę, i za skutki stosowania tej porady przez Ludzi, którzy z twojego poradnika korzystali.

Zamiast się wściekać, to się po prostu troszkę dokształć w temacie.
Jeśli chcesz się specjalizować w takiej dziedzinie, to znajomość tematu i doświadczenie jest niezbędne.
Nie uciekniesz od tego.

To by było na tyle
:craz:

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 20 lut 2011, 22:10
autor: wowo89
po to jest chyba to forum żeby się dokształcić nie sądzisz? ;) więc pomóż początkującemu i powiedz od czego zacząć, podaj jakieś linki, zagadnienia konkretne, a nie Ty się wściekasz :p bo ja wcale nie jestem zdenerwowany :p

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 22 lut 2011, 19:37
autor: jacekalex
To się dokształcaj zdrowo i radośnie, byle skutecznie.

Ja się nie denerwuję, bo nie mam o co, za to z racji doświadczenia wolę, żeby tutki były fachowo napisane i wyczerpywały temat choćby w najmniejszym stopniu.

Po za tym wziąłeś się za temat znacznie szerszy, niż objętość pojedynczego poradnika.
W howto masz kilka przepisów na różne aspekty konfiguracji apacha, na necie są przepisy na pure-ftpd, ssh i inne usługi, za to o całym serwerze można książkę napisać.

To by było na tyle
:craz:

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 22 lut 2011, 22:27
autor: Olgierd94
@jacekalex - to co byś poprawił w tym poradniku żeby dobrze wszystko zainstalować i skonfigurować??

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 22 lut 2011, 22:57
autor: jacekalex
Podobnych poradników teoretycznie nie brakuje, natomiast zbyt szeroki temat wziąłeś do opisu pisząc serwer dedykowany.

Przepis na pure-ftpd masz na howtoforge - link wyżej.
Cała instalacja apacha sprowadza się do 3 komend:

Kod: Zaznacz cały

sudo apt-get install mysql-server
sudo apt-get install libapache2-mod-php5 phpmyadmin
Do tego nginx jako reverse proxy - na stronie nginxa masz przyklad konfigu
a tu opis na fedorę: http://www.cyberciti.biz/tips/linux-uni ... urity.html

Do tego konfiguracja iptables , włącznie z zabezpieczeniem serwera ssh przez brute-force

Do usług publicznych - typu http - limit połączeń poprzez np iptables connlimit,
do ftp, webmina i innych prywatnych, recent - tak jak ssh.

Do tego apparmor - wygenerowanie profilu dla nginxa i włączenie aktywnej ochrony, do tego konfiguracja, ponadto limity dla usług.

I w ten sposób można zrobić w miarę nieźle skonfigurowany serwerek, jeszcze żadna rewelacja - ale już nieźle.

Ponadto certyfikaty ssl dla apacha, phpmyadmin tylko po ssl - i inna ściezka, żeby było trudniej znaleźć go wywołaniem GET, i ochrona phpmyadmina i innych usług poprzez uwierzytelnienie apacha.

W nginxie - który będzie widoczny z zewnątrz, filtrowanie regexem zapytań GET i POST, limit długości zapytania.
Apache tylko na localhost, nginx widoczny z sieci.
https://help.ubuntu.com/community/Nginx/ReverseProxy

Po za tym do Apacha radziłbym zajrzeć do tej książeczki.


Jedna uwaga, to tylko minimum konfiguracji serwera.
Do niemal podstawowych zabezpieczeń dochdzą: w przypadku użycia grsecurity chorooty, w przeciwnym lxc lub np OpenVZ.

Jak pojawi się Apparmor 3.0, to być może wystarczy aa-sandbox - który ma się w tej wersji pokazać.

Na profesjonalny serwerek (lub własny) wziąłbym zdecydowanie Gentoo Hardened z Grsecurity i Paxem.

To by było na tyle
:craz:

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 22 lut 2011, 23:19
autor: Olgierd94
A wiesz co zrobić jak serwer nie obsługuje PHP5??

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 23 lut 2011, 01:03
autor: jacekalex
Włączyć obsługę PHP5 :
https://help.ubuntu.com/10.04/serverguide/C/php5.html

A po za tym :goog: :goog: :goog:

To by bylo na tyle
:craz:


EDYTA:
I jeszcze to: [b]http://robert.nowotniak.com/pl/secur ... urity/[/b]

Odp: Własny Dedyk - ServUbu 10.10+PHP+MySQL+FTP+Webmin

: 23 lut 2011, 20:38
autor: Olgierd94
Ja mam jedną zasadę, pytam dopiero wtedy jeśli nie mogę znaleźć odpowiedzi.
Dzięki za pomoc

PS: Poniższy link jest źle wstawiony.

EDIT:
Zainstalowałem i skonfigurowałem wszystko jak tam pisze i nadaj nie działa:x:x