Ubuntun versio 10.0.4

Aika la 18.2.2012 klo 9-13:15

Tämän viikon aiheena on webbi-palvelimen pystytys Linuxille. Tarkoituksenani oli tehdä asennus live-rompulle, jotten sotkisi jo olemassa olevaa asennustani, mutta ajatus tyssäsi alkuunsa verkkoyhteyden puuttumiseen. Jostain kumman syystä langaton verkkoyhteys live-rompulta ei onnistunut, vaikka langaton verkkoyhteytemme näkyi saatavilla olevissa yhteyksissä. Tunnistautuminen avainrenkaalla ei onnistunut.

Koneellani on siis toiminnassa oleva Apache2-asennus (asennettu keskiviikkona 25.2.2011 komennolla: $ sudo apt-get install apache2), joten asennan sen rinnalle mySql-kannan ja phpAdminin. Asennuksen ohjeet katson Tero Karvisen kotisivuilta.

Alla kuva yksinkertaisesta kotisivustani /home/a1003645/public_html -hakemistossa:

Asennan mySql-kannan ja phpmyadmin-hallintatyökalun komennolla:

$ sudo apt-get install mysql-server phpmyadmin

Päivitän asennuspaketit:

§ sudo apt-get install

Asennan mySql-kannan ja phpmyadmin-hallintatyökalun komennolla:

$ sudo apt-get install mysql-server phpmyadmin

Annan mySql-kannan salasanan

ja valitsen webbi-palvelimeksi Apache2:n ja automaattisen tietokannan konfiguraation dbconfig-komennolla.

Asennus onnistui, sellä selaimella osoite http://localhost/phpmyadmin-osoite antaa minulle phpAdmin-käyttöliittymän. Kirjaudun sisään käyttäjätunnuksella root, sekä asennusvaiheessa antamallani salasanalla.

Luon public_html -hakemiston alle geditillä uuden welcome.htm sivun, joka näyttää tältä:

Nimeän welcome.htm -tiedoston welcome.php:ksi komennolla:

$ mv welcome.htm welcome.php

Lisään welcome.php:n hötskän sisään hieman php-koodia:

<?
//Ohjelma tulostaa sarjaa 1, 5, 25, 125, …, kunnes sarjan jäsenen arvo on yli 30000.
$i;

for ($i=1; $i <= 30000; $i*5)
{
echo $i.'<br />’;
$i = $i*5;
}
?>

Yrittäessäni avata  Firefoxilla tätä welcome.php -sivua, saan FF:ltä vain kysymyksen, että millä sen tahdon avata. Firefox ei osaa avata tätä .php-tiedostoani!

Googlaan hieman ongelmaani ja Ubuntu-forumilta paljastuu, että kyseessä lienee ongelma Ubuntun 10.0.4-versiossa, joka siis minullakin on käytössäni. Selviää, että /etc/apache2/mods-enabled/php5.conf -tiedostossa on joitakin rivejä, jotka estävät /home/*/public_html -hakemistoon asennettujen .php -tiedostojen toiminnan selaimessa.

/etc/apache2/mods-enabled/php5.conf -tiedoston sisältö on:

<IfModule mod_php5.c>
    <FilesMatch ”\.ph(p3?|tml)$”>
    SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch ”\.phps$”>
    SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule …> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    <IfModule mod_userdir.c>
        <Directory /home/*/public_html>
            php_admin_value engine Off
        </Directory>
    </IfModule>
</IfModule>

Kommentoin <IfModule mod_userdir.c> ja </IfModule> -väliset rivit ja restarttaan apache2:n komennolla:

$ sudo /etc/init.d/apache2 restart

Ongelma ei poistu vieläkään. Seuraavaksi luen ohjeita tältä sivulta ja teen uuden sivun defaultin pohjalta:

$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite

Avaan uuden mysite-sivuni tekstieditoriin ja muokkaan sen sisältämät rivin:

DocumentRoot ja Directory rivit osoittamaan /var/www -hakemiston sijasta omaan public_html-hakemistooni:

    DocumentRoot /home/a1003645/public_html/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/a1003645/public_html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

Seuraavalla komennolla otan tämän uuden hakemiston käyttöön:

§ sudo a2dissite default && sudo a2ensite mysite

Site default disabled.
Run ’/etc/init.d/apache2 reload’ to activate new configuration!
Enabling site mysite.
Run ’/etc/init.d/apache2 reload’ to activate new configuration!
a1003645@sanna-laptop:/etc/apache2/sites-available$

Lopuksi vielä apachen restartti:

§ sudo /etc/init.d/apache2 restart

Homma toimii!!!

Jätä kommentti