[LinuxFocus-icon]
�����  |  �����  |  ������  |  �����

������� | ������ | ������ | ��� LF
��� �������� �������� �� ��������� ������: English  Castellano  ChineseGB  Deutsch  Francais  Italiano  Nederlands  Russian  Turkce  Polish  

[Photo of the Author]
����� Sascha Blum (homepage)

�� ������:
��� �������� Linux �� ���� � ������������ � �������� �� �����������, ��������������� ������������. ���������� � ��, ��� ������� ������� ��� ���� ( OpenSource ) - ������ ����� ������������� � �� ��������.

������� �� �������:
Kirill Pukhlyakov <kirill(at)linuxfocus.org>

����������:

 

��������� LAMP �������

[Illustration]

������:

� ���� ������� � �������� ��� ��� ���������� Linux � �������� ������������� ������������, ������� ������� �������� �� ��������� LAMP.

�� ������� �������, ��� ������ ��� ������������ - LAMP - ��� Linux Apache MySQL PHP, �� ���� ��������� ������������ ������� Linux, ��� - ������� Apache, ������� ��� ������ MySQL � ����������� ����� PHP.

_________________ _________________ _________________

 

����������

���������� ��������� LAMP, ��������� Dynamic Shared Objects (DSO).

DSOs �������� ����� ������������ ������������� ����� ������������ - �� ������ ��������� ��������� ������ � ����� ����� ��� ������������� ���������� � ��������� ���������. ��� ����������� ��������� �������� ��� �������� �� PHP ������ 4.2.3 �� 4.2.4 ��� �������� �� ����������������� � �������������� ��������� ��� - � ���� � ���� ��� - ������ Apache, ���������� (GD-Lib, PDF-Lib) ������ ����������� ������ � ������� �� ��� PHP. � ������ ������������� DSO ����������� - ������������������ ������ PHP, � ��� ��������� �������� ��� ����.

�������� ��������: ������ ����������� ������� README ���� ��� ������� ������ ����� ���������� ��� �����������, ������ ��� ����� ���� ��������. ������, ��� �������� ��������� ���������� ������� �����-������ ������, ��������� ./configure. � ����� ������ ��� ������������� ������ ��� ��� ����������� ���������� README. � �� ��������� ��� ��������� ������������ ���������� root'�!
��� ���������� ����������. ������ ������� ���������.

���������� ��� ������� ����� ����������� � ����������� �������� ��� ����� ������� ���������!  

��� ��� ���� � ��� ��� �����

��� ���������� ��������� ������ :  

���������

���� �� ��������� ��� ��� - ����� ��������. ��-������ ���������� ��� ����� � ������� /usr/local/src/lamp, ���� ������ �������� � ��� ��� - �������� ��� �������� mkdir /usr/local/src/lamp.
������������ �����, ������� �� ���� ���������� - ��� MySQL RPM. �� �� ��������� ������� �������. ����� ��� ������� � ������ ������� - ���������� ��. ���� ( ������ "MySQL 3.23.52" ).

��� ����� ������ ���� � �������� /usr/local/src/lamp/ � ������� tar.gz - ������������� �� ��� ��� ������� ����.

�������� ��������: �������, ������� ������ ������ �� �������� ������ �������, ����� ���������� - ������� �������. symbol.

�������� ������� � ��������� ��������� ������� :

user:~ > su
[Now enter your root password]
root: ~> cd /usr/local/src/lamp
root:/usr/local/src/lamp > tar -xvzf apache_1.3.27.tar.gz
root:/usr/local/src/lamp > tar -xvzf zlib-1.1.4.tar.gz
root:/usr/local/src/lamp > tar -xvzf libpng-1.2.2.tar.gz
root:/usr/local/src/lamp > tar -xvzf gd-1.8.4.tar.gz
root:/usr/local/src/lamp > tar -xvzf pdflib-4.0.3.tar.gz
root:/usr/local/src/lamp > tar -xvzf php-4.2.3.tar.gz

����� ���� ��� ��� ������ ����������� - ��������� ������� "ls -l" � ���������� ��� �� �������� ������������.

� ����� ������� ���������� ��� ���� ��������������� � ����� ��� ��� �������. ������� - ��������� ������ ��� ������ ������� ��������� ������. �������� ��� ���������� GD ����� zlib � libpng, � libpng � ���� ������� ������� ������� zlib. ������ � ��������� ��� - ������� Apache.  

Apache 1.3.27

�������� ��������: ����������� ���������� README ����! ��� �� ������� �������� ���������� � ������ ��� ./configure.

������� �� ������������ Apache � ������ --enable-module=all - ������ �� ����� ��������! ������ ������� - ������� ������ ����������� ������. � ������� ������ ����� ���������� ��� ��������� DSO. ����� �� ������� �������� ������ ������.

��� ��������� � ��������� Apache - ��������� ��������� ����.

�������� �������.

�������� ��������: �� ��������� user:/usr/local/src/lamp > � ����� ��������. ��� ����������� Linux � ����� ������� �� ���������, ��� ���� ����� ������. ���� ����������� ����� ��������� � �� - �������.

user:/usr/local/src/lamp > cd apache_1.3.27
user:/usr/local/src/lamp/apache_1.3.27 > su
[Enter your root password]
root:/usr/local/src/lamp/apache_1.3.27 > ./configure --prefix=/usr/local/apache/1.3.27 --datadir=/web/htdocs --enable-rule=SHARED_CORE --enable-module=so


�������� ��������: ������� �������������� ����� ����� �������! ������ ����� -- ������ ������. �������� ������� ������ ��� - ����� ����� ��� ��� �� ������� ��� -datadir. ������ ������� ������ �������, �� ����� ����� ������ � ����������� ���������� ���� �������.


root:/usr/local/src/lamp/apache_1.3.27 > make
root:/usr/local/src/lamp/apache_1.3.27 > make install


���� �� ��� ������� ��������� - ��� ��� - ������ Apache ������������� � ����������.  

MySQL 3.23.52

���� �� ��������� ����������� ����� � ���� ����������� - MySQL ��� ������ ���� ����������.

������������: ���� ��� ������ ��������� � ���� - �������� ��� �������� ������������ ������� ������ root'� ������� MySQL ��� ����� ����� �������!

root:/home/user/download/mysql > rpm -Uvh MySQL-3.23.52-1.i386.rpm
root:/home/user/download/mysql > rpm -Uvh MySQL-client-3.23.52-1.i386.rpm
root:/home/user/download/mysql > rpm -Uvh MySQL-devel-3.23.52-1.i386.rpm
root:/home/user/download/mysql > rpm -Uvh MySQL-shared-3.23.52-1.i386.rpm


�������� ��������: �������� /home/user/donwload/mysql ���������, ��� ��������� RPM �����.  

zlib 1.1.4

root:/usr/local/src/lamp/apache_1.3.27 > cd /zlib-1.1.4/
root:/usr/local/src/lamp/zlib-1.1.4 > ./configure --shared
root:/usr/local/src/lamp/zlib-1.1.4 > make
root:/usr/local/src/lamp/zlib-1.1.4 > make install


�����������: �� ���������� ���� --shared, ����� ������� zlib, ��� ����� ������������ ��� ���������� � �������� ������������� ������ PHP.  

libpng 1.2.3

��������� libpng ������� ���������� �� ����������. �� - ������ �������� � ������� /libpng-1.2.3/scripts/ :


root:/usr/local/src/lamp/zlib-1.1.4 > cd ../libpng-1.2.3/scripts/

����� �������� ��������� �������:

root:/usr/local/src/lamp/libpng-1.2.3/scripts > cp makefile.linux ../makefile
root:/usr/local/src/lamp/libpng-1.2.3/scripts > cd ..

����� ��������� �� �������� ������ ���� make � ������� libpng. ������ ����������� ��������� �� ���� ���� � ������ ��������� ���������, ������� ����� ���� ����� ��� �������, �������� �������������� ��������� � ������������� �������. � ������� ������ ��� ������ ���������, �� ���������� �����, ����� ������ ����������� � ���������� ��������.

��� ����������� �������� ��������� ������� :


root:/usr/local/src/lamp/libpng-1.2.3 > make test


� ������ ���������� ������ ����� ������ ��������� libpng �������� :


root:/usr/local/src/lamp/libpng-1.2.3 > make install

 

gd-1.8.4

��-������ ��������� � ������� gd-1.8.4:

root:/usr/local/src/lamp/libpng-1.2.3 > cd ../gd-1.8.4/


��� � � ���������� ������� - ���������� �� ���� make. ����� �� - ���� ���� �������������� - ������� ��������������� ��������� ����� ������� ��������� ����������.

������ �� ��������� ������� ������� ���������.

���� �� �������� �������� � make ������ - ��������� ��������� ������� :

root:/usr/local/src/lamp/gd-1.8.4 > make
root:/usr/local/src/lamp/gd-1.8.4 > make install


� ������ ������������� ������ �� ������ ����� - ��������� :

root:/usr/local/src/lamp/gd-1.8.4 > make clean


�� ��������� ��� ������� ������ � ������ ������������� ������! ����� make clean ��� ��� ����������� ���������� �� make ���� � ������� ����������� ��������� � ����� ��������� make.

�������� �������� : ����������� ��������� ��������� ��� INCLUDEDIRS � LIBDIRS!  

PDF-Lib 4.0.3

��� ��� ����� ������ ��� ��� ������ ��� ������������� - ������ ���������� ��� � ������� /usr/local/lib �������� :

root:/usr/local/src/lamp/gd-1.8.4 > cd /
root:/ > cp /usr/local/src/lamp/pdflib-4.0.3-Linux/bind/php/php-4.2.1/libpdf_php.so /usr/ local/lib/libpdf_php.so

 

PHP 4.2.3

������� ������������� PHP.

��������� � ������� PHP :

root:/ > cd /usr/local/src/lamp/php-4.2.3/
root:/usr/local/src/lamp/php-4.2.3 > ./configure --with-apxs=/usr/local/apache/1.3.27/bin/apxs --enable-track-vars -- enable-ftp --with-zlib --with-gd --with-sockets --enable-sockets --with-sysvshm --with-sysvsem --disable-debug --with-pdflib-dir=/usr/local/lib --with-tiff-dir=/usr/local/lib --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/lo cal/lib --with-zlib-dir=/usr/local/lib --with-mysql --with-xml


�������� ��������: ��������� ����� ������� ����� �������! �� ��������� ��� ������ ����� --. �� ������ � ������� ������� ��� ������ � "sysvshm" � "sysvsem".

����� �������� ��������� ����� �� ������� :

root:/usr/local/src/lamp/php-4.2.3 > make
root:/usr/local/src/lamp/php-4.2.3 > make install


�������� �������� : ���������� (make) PHP ����� ���������� �� ������ �����������. ������� �� ����������� ���� �����-�� ����� ������ �� ���������� �� ������. �� ������ ������� ������� /usr/local/src/lamp �������� "rm -r /usr/local/src/lamp" - ������� ��� ����� ���������, ������ ��� ������ ������� "rm -r /" � ������� root'� �� ������� ��� �������. ��� �� ����� ������ �������, ��� �� �������� "/usr/local/src/lamp" - ����� ������� ������ � ������� �������������� ��� �������. �������� ������ ������ ".tar.gz", � �������� � ����������� �������� ��� ����.  

���������

 

httpd.conf

����� ��� �����������, ������ ���� ��� ���������.

��-������ �������� ���-������� ��� ��� ��������� � ������� *.php- ��� *.php3.

��������� � ������� "conf" ���-������� :

root:/usr/local/src/lamp/php-4.2.3 > cd /usr/local/apache/1.3.27/conf
root:/usr/local/apache/1.3.27/conf >


��������� ���� "httpd.conf" ��������� ���������� ����� ��� ����� ���� ��������������� � ���������.

�������� ��������: �������� "Kate" ������ �������� ��� �������������� ���������������� ������. ����� �� ��������������� ���������, ��� � ��� ������� KDE. ������� Alt + F2 => kdesu kate. ��� ����������� � ������ ������ �������������� ����������� Ctrl + G.

������ ��� ������ � ����� �������� ��� ������� 190 :

#
#Dynamic Shared Object (DSO) Support
#
#To be able to use the functionality of a module which was built as a DSO you
#have to place corresponding `LoadModule' lines at this location so the
#directives contained in it are actually available _before_ they are used.
#Please read the file README.DSO in the Apache 1.3 distribution for more
#details about the DSO mechanism and run `httpd -l' for the list of already
# built-in (statically linked and thus always available) modules in your httpd
#binary.


����� ������� ���������, ���� ����� ��� ��� :

LoadModule php4_module libexec/libphp4.so

����� ������������ �������� �� ������ 770:

#AddType allows you to tweak mime.types without actually editing it, or to
#make certain files to be certain types.
#AddType application/x-tar .tgz

� ��������� ��������� :

AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
AddType application/x-httpd-php .phtm
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php-source .phps


�������� ��������: ������� ��� ��� ��������� �� ��������� ������������� ������.

���� �� ������ ������������ ����� HTML PHP �������� - ���������� ��������� ������ :

AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html



�� ��������� ���-������ �������������� ���� httpd.conf.
��� ����� ������?

������ - ��� ���������� ��� ��������� ������. ������� ����� ���� ��� �������� ����� ��������� ( �������� C++ ), ��� � ���� �������� ���������� ( �������� HTML ). ������ ������������ ���� ����� � �������������� � ����������.

���������� ���������� ����� ������ ������������ ������� ���������, ��� ������� HTML ��������. ��� �� ����� ������������ ����� ����� �� ��������, ������ � ������ ������� ������� ���������� ������������� � ������ � ���� �� ������� ��� �������� ����� �������. �������, ���� �� ������ ������������ ���� LAMP ������� � �������� ��� �������� - �������� ���� ��������� ��������. ������ � ������ ��������� ���������� �������� ��� �������� �������� ��������� ��� �������.
 

php.ini

������ �������� � � ������ ������������� ���������� ���� php.ini.

������� ��������� ���� php.ini � ������ �������, ��� ����� ��������� � ������� PHP :

root:/usr/local/apache/1.3.27/conf > cd /usr/local/src/lamp/php-4.2.3/

������ �������� "php.ini-dist" � ������� /usr/local/lib � ��������������� ��� � "php.ini" :

root:/usr/local/src/lamp/php-4.2.3 > cp php.ini-dist /usr/local/lib/php.ini

������ ������� "pdflib" � �������� ���������� � php.ini, ����� PHP ����, ��� ������ � ��������� �� ���� ����������. ��������� ������ PHP ������ ���, ����� ��� zlib, GD, � �.�

��������� ���� "/usr/local/lib/php.ini" ��������� ���������� � ������������ �������� �� 371 ������.

��� �������� ��������� ������� :


;Directory in which the loadable extensions (modules) reside.
....

extension_dir = ./ <= �������� ��� ��������� ������� :

extension_dir = /usr/local/lib
extension=libpdf_php.so



��������� ����.

��� � ��� - ���� LAMP ������� ��������� � ������ � ������!

������������ ��, ����� ���� ����������, ��� �� ����� ���������. ������ ����� ��������� ��� ������� ���������� ����� ( �������� ���-������ ��� ���������� ��� ����������� �� � �������� ������ �������� ). ��������� ������� :

root:/usr/local/src/lamp/php-4.2.3 > killall httpd


������ ��������� ��������� ����� ������ �������� :

root:/ > /usr/local/apache/1.3.27/bin/apachectl start


���� �������� ����� ���������...

/usr/local/apache/1.3.27/bin/apachectl start: httpd started


... ������ ��� OK - ���-������ �������!

��������� � ������� "web/htdocs" - ��� DocumentRoot ���� �� �� �������� ��� ����� � ������� ����� ����, ������� ��� info.php :

user:/ > cd /web/htdocs/
user:/web/htdocs > touch info.php



��������� ��� ��������� ���������� � �������� ��������� :


<?PHP
echo phpinfo();
?>


�������� ��������: ��������� ��� ��� ��� ������� �� ����� ��������!

��������� ��� � ��������. ������ ����� ���������� ������ - �������� ��������� URL � ����� �������� :

http://127.0.0.1/info.php
or
http://localhost/info.php
or
http://rechnername/info.php
or
http://lokale_IP/info.php

�� ������ ������� ��������� ���������� ������� phpinfo() - ��� ���� �� ����� � �� ��� ��������� ��������������� �� PHP - ������� ������������!

�������� ��������: ������ ��������� ����� �������� � /web/htdocs ( ��� � ���, ������� �� ���������� ). �������� ���� �� ������ ������� ��������� �������� - �������� ��� ������� ��������� �������.

�� ���������, ��� /web/htdocs ( ��� ���, ������� �� ���������� ) DocumentRoot ��� ������ ���-�������. ������� ��� ������ ������� �� ������� URL ����� - http://127.0.0.1/info.php, ���� � ��� ��������� ��������, �������� project1, project2 � �.�. ��� ���� ����� ���������� � ��� �������������� http://127.0.0.1/project1/ � http://127.0.0.1/project2/.

�������� ��������: PHP ����� �������������� ������ � ��� ������ ���� ��� ����������� � /web/htdocs ��� ��� ���������!

������ �� ������ ��������� ��� ���-������.  

������������

� ���� ����� ������� � ��������� ��� ��������� ������������ ��� ��������� ����������������� ������� � ���-������� :

Webmin 1.000
(http://www.webmin.com/)

� ������� Webmin ����������������� ������� ���������� ����� �������. �� ������ ��������� ���-��������, �������� ��� ������, Webmin ����� � ������������� � ������� �������� �������� ��� ��������.

���������:
http://prdownloads.sourceforge.net/webadmin/webmin-1.000.tar.gz?download
���
http://www.webmin.com/


phpMyAdmin 2.3.1
(http://www.phpwizard.net/projects/phpMyAdmin/)

phpMyAdmin ����� �������� ���������� ��� MySQL. � ��� ������� �� ������ ���������, �������, ������������� ������� � ����� ���� ���. ���������� ��� ���.

���������:
(phpMyAdmin-2.3.1-php.tar.gz)
http://www.phpmyadmin.net/index.php?dl=2  

����������� � ������� Webmin

��������� ��� Apache ::
webmin => Server => Apache Webserver
Module config:

Apache server root directory ( �������� ������� ���-������� Apache ):
/usr/local/apache/1.3.27/bin/

Path to httpd executable ( ���� � ������������ ����� httpd ):
/usr/local/apache/1.3.27/bin/httpd

Apache version ( ������ ���-������� ):
�������� ������ ���� � �������: => 1.3.27

Path to apachectl command ( ���� � apachectl ):
� ������ ���� => /usr/local/apache/1.3.27/bin/

Command to start Apache ( ������� ��� ������� Apache ):
in empty field => /etc/init.d/apachectl start

�������� �������� : ���� apachectl �� � �������� - ���������� ��� ���� :
root > cp /usr/local/apache/1.3.27/bin/apachectl /etc/init.d/


Command to stop Apache ( ������� ��� ��������� Apache ):
in empty field => /etc/init.d/apachectl stop

Display virtual servers as ( ���������� ����������� ������� ��� ):
=> Icons

Order virtual servers by ( ���������� ����������� ������� ):
=> order in config file(s)

Maximum number of servers to display ( ������������ ���������� ������������ �������� )
=> 100

Path to httpd.conf ( ���� � httpd.conf )
� ������ ���� => /usr/local/apache/1.3.27/conf/httpd.conf

Path to srm.conf ( ���� � srm.conf )
� ������ ���� => /usr/local/apache/1.3.27/conf/srm.conf

Path to access.conf ( ���� � access.conf )
� ������ ���� => /usr/local/apache/1.3.27/conf/access.conf

Path to mime.types ( ���� � mime.types )
� ������ ���� => /usr/local/apache/1.3.27/conf/mime.types

File to add virtual servers to ( � ����� ���� ��������� ����������� ������� ):
=> httpd.conf

Test config file before applying changes? ( ��������� config ���� ����� ��������� ��������� )
=> Yes
�������� �������� : �� ������� => !

If you want the Apache server to start automatically when the system boots up, you can set this up in Webmin as follows ( ���� �� ������ ��������� ���-������ ��� �������� ������� ������� ��� � Webmin ��������� ������� ):
webmin => System => Bootup and Shutdown

���� Apache �� ������ - ������� ��� ��� ����� ������.

Name => apachectl
Script => is usually loaded automatically
Start at boot time? => Yes
Bootup commands => /etc/init.d/apachectl start
Shutdown commands => /etc/init.d/apachectl stop  

���������� �������

 

���������� PHP

������� ���������� ����������� ���� � ����� ������� PHP � ������� :

/usr/local/src/lamp/

�������� ����� ������ PHP 4.2.4 ( �� ����� ���� � �� ���� ����� �� �����-������ ����� ������ ). ���, ��� ��� ������ ��������� - ������������������ �������� ��� ���������� ������.

���������� ����� ���� :

�������� ������� � ��������� ��������� ������� :

user:~ > su
[Only enter your root password]
root:~ > cd /usr/local/src/lamp/
root:/usr/local/src/lamp > tar -xvzf php-4.2.4.tar.gz


���� ������� �� ������ ������� ��� ��� � "/usr/local/src/lamp" ��������� ��������� ��������.

������ ������� ����� �������� - "/usr/local/lamp/php-4.2.3".

��� ������ �������� libphp4.so. �������� ��� "libphp4-4.2.3 .so" :

root:/ > cd /usr/local/apache/1.3.27/libexec/
root:/usr/local/apache/1.3.27/libexec > cp libphp4.so libphp4-4.2.3.so


����� ������� ��������� ������ ������ ����� php.ini :

root:/ > cd /
root:/ > cp /usr/local/lib/php.ini /usr/local/lib/php-4.2.3.ini


����� ������� ������ ������ php.ini :

root:/ > rm /usr/local/lib/php.ini


�� ����� ���� ������ ���� �� ��������� ������ ��������� PHP - ��� ��� ��������� �����!

���� � ���, ��� � �������� "/usr/local/lamp/php-4.2.3" ���� ��������� ������, ������� ����� ���������� ��������� ��� ��������� �� ./configure. ���� �� �� ��������� ������ ��������� - ��� �������� �������� ��� ��� ��������� �������!

������ ��������� ./configure :

root:/ > cp /usr/local/lamp/php-4.2.3/config.nice /usr/local/lamp/php-4.2.4/config.nice
root:/ > cd /usr/local/lamp/php-4.2.4
root:/usr/local/lamp/php-4.2.4 > ./config.nice
root:/usr/local/lamp/php-4.2.4 > make
root:/usr/local/lamp/php-4.2.4 > make install


�������� �������� : � ������ ���������� �������� � ����������� ���������� ������ - �������� ��� ��������� ./configure ��� ������� � ������� "Installation => PHP 4.2.3" �������.

������ ���������� php.ini � ���������� ������� :

root:/ > cd /
root:/ > cp /usr/local/lib/php.ini-dist /usr/local/lib/php.ini


������ ��������� php.ini ��� ������������� ��� ������� � ������� "Configuration => php.ini".

������������� Apache � ���������� ��������� :

root:/ > /usr/local/apache/1.3.27/bin/apachectl restart

 

����������

 

Postscript

��� �������� - ����� �� ������� � �������������� ������ �������� � � ���� �����������. ���� ���-������ ������� �����-������ ������ ��� ������� ���-������ �������� - �������� ��� � � ����� ���������. ��� ��������� ���� ���� �������������� �� SuSE Linux 8.0, �� ����������� ����� ���� ��������� � �� ������ Linux.

������� ����� ���������� �������� LAMP ������� � ������ ��������, �� ����� ���� ������� ���� ������� ����������� ��� ��������. � ���������� ��������� ��� �����������. ������� �� ���������� �� ��� �������� ��������� � ������ ������������� ������������ �����������.
 

������

 

�������� �������

� ������ ������� ���� �������� �������. �� ���� �������� �� ������ �������� ���� ����������� ��� ����������� ����������� ������ ��������� :
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© Sascha Blum, FDL
LinuxFocus.org
Translation information:
de --> -- : Sascha Blum (homepage)
de --> en: Orla Shanaghy <o_shanaghy(at)yahoo.com>
en --> ru: Kirill Pukhlyakov <kirill(at)linuxfocus.org>

2002-11-03, generated by lfparser version 2.31