����� Sascha Blum (homepage)
�� ������:
��� �������� Linux �� ���� � ������������ � �������� ��
�����������, ��������������� ������������. ���������� � ��, ���
������� ������� ��� ���� ( OpenSource ) - ������ ����� �������������
� �� ��������.
������� �� �������:
Kirill Pukhlyakov <kirill(at)linuxfocus.org>
����������:
|
��������� LAMP �������
������:
� ���� ������� � �������� ��� ��� ���������� 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 ������� � ������ ��������,
�� ����� ���� ������� ���� ������� ����������� ��� ��������.
� ���������� ��������� ��� �����������. ������� �� ���������� ��
��� �������� ��������� � ������ ������������� ������������ �����������.
������
�������� �������
� ������ ������� ���� �������� �������. �� ���� �������� �� ������ ��������
���� ����������� ��� ����������� ����������� ������ ��������� :
2002-11-03, generated by lfparser version 2.31