Apache + PHP + MySQL kompilácia na Fedore 13/14/15
- žiadny LAMP/XAMP, custom inštalácia na Fedoru 14, 15
- MySQL 5, Apache 2.2, PHP 5.3
- MySQL cez RPM balíky, Apache a PHP skompilované
- obecne najprv MySQL, pretože PHP sa bude kompilovať s podporou MySQL a je treba vedieť, kde sa databázový stroj nachádza
1. knihovny vo Fedore
libxml2, libxml2-devel, libjpeg, libjpeg-devel, libpng, libpng-devel, libpng10, libpng10-devel, gd, gd-devel, fontconfig-devel, xorg-x11-devel
2. MySQL
2.1. kontrola predchádzajúcich inštalácií
rpm -qa | grep -i mysql
ak to nie je čisté, tak pomocou rpm alebo yum vyčistiť
2.2. MySQL balíky, install
Po všetkých možných minulých zábavných peripetiách dávam prednosť .rpm balíkom. V zásade potrebné 4:
MySQL-server…rpm
MySQL-client…rpm
MySQL-shared…rpm
MySQL-devel…rpm
rpm -i MySQL*
Binárky sa štandardne nainštalujú do /usr/bin/; libky do /usr/lib/; konfiguráky a štartoavcie skripty do /etc/
/usr/bin/mysql – cesta k binárke servru
/usr/bin/mysqladmin – cesta k MySQL Admin
/usr/bin/mysqldump – cesta k MySQL dump
/usr/bin/mysqlimport – cesta k MySQL import
2.3. MySQL start, stop, login
/etc/init.d/mysql start/stop
chkonfig –add mysql
Logovanie v shellu:
mysql -p
mysql -u $user$ -p
2.4. MySQL postinstallum
Po inštalácii nie je server zabezpečený a je tam testovacia databáza a default user. Obyčajne vyzve po inštalácii MySQL k zabezpečeniu pomocou skriptu /usr/bin/mysql_secure_installation.
3. Apache
3.1. príprava
Žiadna redhatová systémová inštalácia, nýbrž nová kompilačka. Najprv, či tam nejaký apač neškodí:
rpm -qa | grep -i apache
3.2. configure
Stačí nastaviť miesto pre inštaláciu, threading model a podporu zásuvných modulov.
./configure
–prefix=/usr/local/apache2
–with-mpm=prefork
–enable-so
3.3. Start, stop, info
Apache binárka je nainštalená v /usr/local/apache2/bin/, hlavný konfigurák je v /usr/local/apache2/conf/httpd.conf
Spustenie, zastavenie:
/usr/local/apache2/bin/apachectl start/stop/restart
Pokiaľ chcem apač zapínať automaticky po reštarte systému, chce to vykopírovať init z binárky:
cp /usr/local/src/httpd…stiahnutá verzia/build/rpm/httpd.init /etc/rc.d/init.d/apache
chkonfig –add apache
chkonfig –level 35 apache on
Webroot je v /usr/local/apache2/htdocs/. Zmena prístupových práv, nech si tam môže sypať súbory normálny user.
4. PHP
Najlepšou praxou je nechať sa viesť konfigurákom zo svojho hostingu, ktorý si nechám vypísať cez phpinfo() – je to hneď na začiatku. Moja inštalácia sa potom podobá tej, ktoré je “vonku” a nie sú problémy s knihovnami, cestami a nastavením. Jelikož som kompiloval apache do /usr/local/, tak phpko tiež nápodobne – /usr/local/php5/.
Po skompilovaní PHP je nutné do hlavného apačieho konfiguráku uviesť, aby požiadavky na súbory .php Apache predával PHP interpretru:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
Konfigurák tu, ako shellový skript.
#!bin/bash
#script for php 5.3. configuration
./configure \
--prefix=/usr/local/php5 \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr \
--with-mysqli=/usr/bin/mysql_config \
--with-pdo-mysql=/usr/bin/mysql_config \
--with-libxml-dir=/usr/lib \
--with-zlib \
--with-zlib-dir=/usr/lib \
--enable-sockets \
--enable-soap \
--with-gd \
--with-jpeg-dir=/usr \
--enable-exif \
--enable-force-cgi-redirect \
--enable-mbstring \
--with-openssl \
--with-curl \
--with-gettext \
--with-bz2 \
--with-mhash \
--with-gmp \
--with-iconv \
--enable-calendar \
--enable-ftp \
--enable-bcmath \
--enable-wddx \
--enable-xml \
--enable-inline-optimization \
--with-mcrypt \
--with-kerberos \
--enable-fastcgi \
--with-xsl \
--with-xmlrpc
trocha starsie, ale dobre – http://www.trdlo.cz/webserver.php
drd
18 Oct 12 at 6:18