KORVIT Corporation

Linux Apache & MySQL -palvelin

26.12.2012, päivitetty 21.08.2013 - Debian Linux 5

Tagit: how to set up linux apache http server, install mysql server

Asennetaan Apache2 HTTP-palvelin, siihen PHP-tuki, MySQL-palvelin ja tietokantahallintaan phpMyAdmin yhdellä komennolla:
apt-get install apache2 php5 mysql-server phpmyadmin

Asennuksen yhteydessä kysytään MySQL-palvelimen root-käyttäjän salasanaa kahteen kertaan(kts. kuva 1). Huomaa, että asennus ei kysy tietokoneen pääkäyttäjän salasanaa, vaan uutta salasanaa tietokannalle. phpMyAdminin asennus kysyy, halutaanko HTTP-palvelin konfiguroida automaattisesti (kts. kuva 2). Valitaan listasta Apache2.

Web-palvelin on asennettu ja valmis käytettäväksi! Apachen tiedostot ovat kansiossa /var/www/ . phpMyAdminiin pääsee osoitteesta http://lnxsrv137/phpmyadmin .

Käyttäjien henkilökohtaiset sivut

Käyttäjät saavat omat sivunsa helposti näkyviin osoitteeseen http://lnxsrv137/~kayttajanimi, kun käyttäjän home-hakemistossa on kansio nimeltä public_html ja Apachen userdir-lisäosa on päällä. Lisäosa laitetaan päälle tekemällä symboliset linkit Apachen pois päältä olevista asetustiedostoista päällä oleviin ja käynnistämällä Apache uudelleen:
ln -s /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-enabled/userdir.conf
ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-enabled/userdir.load
/etc/init.d/apache2 restart

kuva1kuva1kuva2kuva2 kuva3kuva3
Kuva 1Kuva 2Kuva 3

Hakemistolistauksen esto ja salasanasuojaus

.htaccess hakemistokohtasilla asetustiedostoilla voit rajoittaa ja lisätä käyttäjien oikeuksia hakemistoissa. .htaccess -tiedostot tulee ensin ottaa käyttöön muokkaamalla Apachen asetustiedostoa nano /etc/apache2/sites-enabled/000-default (kts. kuva 3), siten että kaksi ensimmäistä AllowOverride None -riviä muutetaan AllowOverride All -muotoon. Muutosten jälkeen käynnistetään Apache uudelleen /etc/init.d/apache2 restart -komennolla. Jos haluat .htaccess-tiedostot käyttöön myös käyttäjien henkilökohtaisissa hakemistoissa, tulee myös /etc/apache2/mods-enabled/userdir.conf -tiedoston AllowOverride -riviä muokata muotoon AllowOverride All (kts. kuva 4) ja käynnistää Apache uudelleen.

Itse .htaccess tiedosto tehdään nanolla (kts. kuva 5). Tiedoston voi tehdä Windowsin Notepadilla tallentamalla tiedosto nimellä ".htaccess" lainausmerkkeineen.

Voit estää hakemistolistauksen (oletuksena päällä, kts. kuva 6) tallentamalla tiedostoon seuraavan rivin:
Options -Indexes
Laita miinusmerkin tilalle plusmerkki, jos haluat sallia hakemistolistauksen palvelimessa, jossa hakemistolistaus on pois päältä

kuva4kuva4 kuva5kuva5 kuva6kuva6
Kuva 4Kuva 5Kuva 6

Salasanasuojaus toteutetaan kahdella tiedostolla. Ensimmäinen on tavallinen .htaccess -tiedosto, jonka sisältö näyttää osapuilleen seuraavalta:
AuthName "Kansion nimi"
AuthType Basic
AuthUserFile /home/iivo/.htpasswd
Require valid-user

Toinen tiedosto on .htaccess -tiedostossa viitattu .htpasswd, joka ei saisi olla luettavissa Apachen kautta. Selaa määriteltyyn kansioon cd /home/iivo ja tee uusi .htpasswd -tiedosto komennolla htpasswd -c .htpasswd kayttajanimi . Kun haluat lisätä käyttäjiä valmiiseen tiedostoon, käytä komentoa ilman -c -valitsinta; htpasswd .htpasswd kayttajanimi . .htpasswd -tiedosto on .htaccessin lailla piilotiedosto, joten se ei näy dir-listauksessa, mutta voit katsoa sen sisältöä nanolla. Salasanat ovat tiedostossa salatussa muodossa.

Virtual Host - monta verkkosivustoa samalle palvelimelle

Usean eri verkkosivuston ylläpitäminen samalla palvelimella toteutetaan Virtual Hostien avulla. Helpoiten toisen sivuston saa ensimmäisen rinnalle pyörimään lisäämällä seuraavat rivit asetustiedostoon /etc/apache2/sites-enabled/000-default :

<VirtualHost *:80>
    ServerAdmin jarjestelmanvalvoja@admin.korv.fi
    DocumentRoot "/var/www2"
    ServerName sivusto2.korv.fi
    ServerAlias www.sivusto2.korv.fi
</VirtualHost>

DocumentRoot määrittää kansion, jossa tämän sivuston tiedostot sijaitsevat. ServerName ja ServerAlias ovat ne osoitteet, joita kyseltäessä palvelin tarjoaa DocumentRootin tiedostoja. ServerAliaksia voi olla useita. Muutosten tallennuksen jälkeen käynnistetään Apache uudelleen komennolla /etc/init.d/apache2 restart .