Szentháromság (Apache, PHP, MySQL) telepítése linuxon

Gondoltam összedobok egy kis leírást eme szentháromság Linux alatt való telepítéséről. Remélem segítségére lesz azoknak akik csak most ismerkednek a Unix, Linux rendszerekkel.

A PHP 5.0 és az Apache 2.0 forrásával, a MySQL 4.1 bináris állományával fogunk dolgozni. Ezeket az alábbi helyekről töltheted le:

http://www.php.net/downloads.php
http://httpd.apache.org/download.cgi
http://dev.mysql.com/downloads/mysql/4.1.html

Mindegyik telepítéséhez szuperjúzer jogokkal kell rendelkeznünk.

A MySQL telepítésével kezdjük.

A fájl neve amit letöltöttél, lehet mysql-standard- mysql-max- vagy mysql-debug-VERZIÓSZÁM-OPRENDSZER.tar.gz. Az én esetemben a fájl neve mysql-standard-4.1.12-pc-linux-gnu-i686.tar.gz.
Először is ajánlatos létrehozni egy mysql csoprtot és egy mysql felhasználót a gépen amivel majd használjuk a MySQL-t.
Nyissunk meg egy terminált, majd gépeljük be a következő parancsokat:

1
2
#> groupadd mysql 
#> useradd -g mysql mysql

Ha készen vagyunk csomagoljuk ki a letöltött állományt. Az én példányom a /mnt/hd1/php/ katalógusban(vagy könyvtár) van. Lépjünk abba a könyvtárba ahova telepíteni szeretnénk a MySQL-t, az én esetemben /usr/local/ , majd gépeljük be a kicsomagoláshoz szükséges parancsot.

1
2
#> cd /usr/local/
#> tar xvf /mnt/hd1/php/mysql-standard-4.1.12-pc-linux-gnu-i686.tar.gz

Majd a következő utasítás segítségével hozzunk létre egy rövidebb nevű linket, hogy ne kelljen mindig begépelni a mysql-standard-4.1.12-pc-linux-gnu-i686-ot.

1
2
#> ln -s mysql-standard-4.1.12-pc-linux-gnu-i686 mysql
#> cd mysql

Miután beléptünk a mysql katalógusba az alábbi parancsokat kell kiadnunk a telepítéshez.

1
2
3
4
5
#> scripts/mysql_install_db
#> chown -R root /usr/local/mysql
#> chown -R mysql /usr/local/mysql/data
#> chown -R mysql /usr/local/mysql
#> chown -R root /usr/local/mysql/bin

Ezek után már csak egy dolgunk van, méghozzá létrehozni a root felhasználót, amihez a következő parancsot kell használnunk.

1
#> /usr/local/mysql/bin/mysqladmin -u root password 'jelszo'

Most már minden adott ahhoz hogy elindítsuk a mysql szervert, ezt a következő paranccsal tehetjük meg.

1
#> /usr/local/mysql/bin/mysqld user=mysql //a user lehet más is csak rendelkeznie kell a megfelelő jogokkal

Ha nem kapunk hibaüzenetet, valószínűleg minden jól működik, de azért nem árt ha leellenőrizzük. Indítsuk el a mysql monitort az előbb létrehozott root felhasználóval, majd gépeljük be a következő parancsokat.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#> /usr/local/mysql/bin/mysql --user=root --password=rootjelszo
mysql> create database teszt;
mysql> \u teszt;
mysql> create table teszt1 (
-> id int not null primary key auto_increment,
-> text varchar (150) not null,
-> text2 varchar (150) not null);
mysql> insert into teszt1 values ('', 'Szoveg1', 'Szoveg2');
mysql> select * from teszt1;
 
+----+---------+---------+
| id | text | text2 |
+----+---------+---------+ //A lekérdezésünkre érkezett válasz valami hasonló 
| 1 |Szoveg1 |Szoveg2|
+----+---------+---------+
1 row in set (0.00 sec)

Ha mégse valami ilyesmit kapsz eredményül akkor valószínűleg elrontottál valamit, fuss neki még egyszer, de lehet hogy én írtam el valamit, ha így van akkor bocsánatot kérek.
Ha kérdésed van akkor arra a tutorial.hu oldal fórumán biztosan választ kapsz.

A második lépés az Apache webszerver telepítése
Csomagoljuk ki a letöltött állományt aminek a neve nálam httpd-2.0.54.tar.bz2.

1
#>tar xvf httpd-2.0.54.tar.bz2

Lépjünk be a könyvtárba ahova kicsomagolódott az állományt.

1
#> cd httpd-2.0.54/

A következő lépésben a configure állomány futtatásával megadhatjuk hogy milyen funkciókat, beállításokat tartalmazzon a létrehozandó bináris változat. Mivel nekünk majd a PHP-ra is szükségünk lesz, a mod_so modullal kell majd fordítanunk az Apache-ot. Ez a modul a Unix osztott objektumformátumáról(shared object, *.so) kapta a nevét, és a PHP-hoz hasonló dinamikus modulok használatát teszi lehetővé az Apache-ban. A következő parancsban tehát megadjuk, hogy majd hova telepítse magát(nálam a /usr/local/apache2/ az Apache és hogy a mod_so modullal forduljon le.

1
#> ./configure --prefix=/usr/local/apache2 --enable-module=so

A configure program célja az, hogy mindent megállapítson a könyvtárak helyére , a fordítási idejű opciókra, a platformfüggő eltérésekre stb. vonatkozóan, és hogy létrehozza az úgynevezett makefile speciális állományokat. Ezek az állományok különféle feladatok végrehajtására vonatkozó utasításokat tartalmaznak. A make segédprogram olvassa be őket, és hajtja végre a feladatokat.
Ha configure működése során hibák lépnek fel, akkor figyelmeztetések jelennek meg, melyek felhívják a figyelmünket arra, hogy milyen további fordítókra, eljáráskönyvtárakra stb. van még szükségünk. Ezek telepítése után újra próbálkozhatunk a configure paranccsal, de előbb töröljük a config.log és a config.status állományokat a legfelső szintű könyvtárból.
Ezek után következzen a fordítás, a make parancs segítségével, majd miután ez befejeződött, megkezdhetjük a telepítést, a make install parancs segítségével.

1
2
#> make
#>make install

Az Apache disztribúciós állományok ezzel a /usr/local/apache2/ könyvtárba kerültek, ahogy azt a prefix kapcsolóval a configure parancs után megadtuk. Ha ellenőrizni szeretnénk, hogy a Apache bináris változata rendben felépült-e, gépeljük be a következő parancsot.

1
#> /usr/local/apache2/bin/httpd -v

Valami ilyesminek kell meg jelennie a képernyőn(a verziószám és a dátum változhat).

1
2
Server version: Apache/2.0.54
Server built: May 24 2005 20:00:46

Mielőtt elindítanánk a szervert ellenőrizzük a konfigurációs állományt(/usr/local/apache2/conf/httpd.conf). Állítsuk be be a portot(rendszerint 80), a dokumentumkönyvtár elérési útját, meg amihez még kedvünk van. Az a Apache indításához a következő parancsot kell begépelnünk.

1
#> /usr/local/apache2/bin/apachectl start //Az apachectl-hez tartozó kapcsolók: start(elindítja a szervert), stop(leállítja), restart(ujraindítja), graceful(elegáns ujraindítás).

Ha minden jól ment, egy böngésző segítségével máris hozzáférhetünk az Apache-hoz. Gépeljük be címnek a localhostot majd üssünk entert és láss csodát, ha van a dokumentumkönyvtárunkban index.html, akkor annak a tartalmát látjuk, ha nincs, akkor az ott található fájlokat.
A PHP fordítása
Itt is a letöltött állomány kicsomagolásával kezdjük(nálam php-5.0.4.tar.bz2).

1
#> tar xvf php-5.0.4.tar.bz2

Majd lépjünk bele a könyvtárba.

1
#> cd php-5.0.4

Itt is találunk egy configure fájlt. Itt is meg kell adnunk néhány plusz paramétert. Lássuk.

1
#> ./configure --prefix=/usr/local/php --with-mysql=/usr/local/bin/mysql --with-apxs2=/usr/local/apache2/bin/apxs

Az első a telepítés helyét jelöli, a második ahhoz kell hogy tudjuk majd használni a MySQL-t, a harmadik pedig az Apache-hoz. Ha a szkript sikeresen lefutott adjuk ki a make, majd a make install parancsokat.

1
2
#> make
#> make install

Ezzel elvégeztük a PHP fordítását és telepítését. Azonban gondoskodnunk kell még arról is, hogy két fontos állomány, a megfelelő helyre kerüljön. Másoljuk először a disztribúció php.ini állományát annak alapértelmezett helyére az alábbi paranccsal.

1
#> cp php.ini-dist /usr/local/php/lib/php.ini

Ha még nem került volna oda a telepítés során, akkor most másoljuk a PHP osztott objektumállományát az Apache rendszerünk megfelelő könyvtárába.

1
#> cp libs/libphp5.so /usr/local/apache2/modules/

Ha esetleg a későbbiekben újrafordítanád a PHP-t(új modulok stb.), csak ezt az egy fájlt kell bemásolni a helyére, és felülírni a régit. Most már csak annyi a dolgunk, hogy bekonfiguráljuk és integráljuk az Apache-val a PHP-t.

A PHP és az Apache integrálása

Először is, nyissuk meg az Apache konfigurációs állományát valamilyen szerkesztőprogrammal, én a Midnight Commandert(#> mc) ajánlom. Keressük meg a /usr/local/apache2/conf/httpd.conf állományt majd nyissuk meg szerkesztésre(mc-ben F4). Először keressük egy az alábbihoz hasonló sort.

1
LoadModule php5_module modules/libphp5.so

Ha nincs ilyen sor, vagy egy kettőskereszt van előtte, akkor nekünk kell beírni azt (vagy eltávolítani a kettőskeresztet) a LoadModule részhez. Ha ezzel készen vagyunk kerresük meg az alábbi szakaszt.

1
2
3
4
#
# AddType allows you to add to or override the MIME configuration
# file mime.types for specific file types.
#

Ide vegyük fel a következő sorokat:

1
2
AddType application/x-httpd-php .php .phtml .html
AddType application/x-httpd-php-source .phps

Mentsük el a konfigurációs állományt, majd indítsuk újra az Apache-ot! Az error_log állományban egy ehhez hasonló sort kell találnunk:

1
[Wed May 25 18:16:47 2005] [notice] Apache/2.0.54 (Unix) PHP/5.0.4 configured

Ha ezzel készen vagyunk nincs más dolgunk mint írni egy egyszerű kis PHP szkriptet és kipróbálni, hogy valóban mindent jól csináltunk.

1
2
3
<?php
phpinfo();
?>

Ennek a kódnak a kimenete nem csak látványos, de hasznos is, a függvény egy hosszú listát fog adni nekünk a beállításokról. Mentsük el a dokumentumkönyvtárunkba. Majd nyissuk meg a böngészőnkkel. Nálam localhost/haha.php.
Ha egy szép látványos listát kaptunk, akkor nincs más dolgunk mint örülni, hogy a saját építésű PHP-Apache-MySQL hármasunk tökéletesen működik. Persze ezek után még számtalan konfigurációs lehetőség van, tessék csak próbálkozni. Remélem mindenki élvezte az „építkezést”.
Ha bármilyen kérdésetek van, a tutorial.hu fórumon, vagy redelem_kukac_gmail.com el tudtok érni. A gépelési hibákért elnézéseteket kérem, de én is csak ember vagyok.

Szerző: Rendo

12 HOZZÁSZÓLÁS

  1. Linuxon ha telepítem az apache-t, és utólag szeretném használni a ./configure -ét, akkor ezt hogyan tehetem meg ? Mert nekem ubuntu kiírja, hogy nincs configure könyvtár. Vagy újból lekell töltenem az apache-t, és mindent elölről kezdhetek ?!

  2. Hali!
    Én valószínüleg nagyon gyökér vagyok, de nekem még a windows-ra való telepítés se nagyon akar összejönni… :S
    Esetleg abban tudna vki segíteni?
    (Bocs, hogy nagyon láma voltam…)

  3. wampserverhez egy plusz megjegyzés, ha vista-d van: a 127.0.0.1-gyel működik, de a localhost-tal nem akar… ha esetleg valaki tudja miért, írja ide, nekem is segítene.
    thx

  4. Nem biztos, de ha beteszed a hosts fileodba akkor mennie kéne (127.0.0.1 localhost)

  5. Az benne van, egészen pontosan ez a default tartalom:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    # Copyright (c) 1993-2006 Microsoft Corp.
    #
    # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
    #
    # This file contains the mappings of IP addresses to host names. Each
    # entry should be kept on an individual line. The IP address should
    # be placed in the first column followed by the corresponding host name.
    # The IP address and the host name should be separated by at least one
    # space.
    #
    # Additionally, comments (such as these) may be inserted on individual
    # lines or following the machine name denoted by a '#' symbol.
    #
    # For example:
    #
    #      102.54.94.97     rhino.acme.com          # source server
    #       38.25.63.10     x.acme.com              # x client host
     
    127.0.0.1       localhost
    ::1             localhost
  6. próbáld meg hogy kikommentezed a “::1 localhost” sort, lehet kell restart is utána vagy dns flush

  7. AppServ. kell neked nem wampserver :) AppServ el akár torrent oldalt is futtathatsz ::::P

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét