����Linux��
Linux����

Linux��Solaris��Apache�����������

����ʱ��:2006-09-01 08:15:09��Դ:��������:�Ϻ�
����4.9 �����һ��С��perl�ű����������������ע�ʹ������ɵ������ļ���ɾ�����γ�һ���򻯵��ļ���

����4.10 ��htdocsĿ¼��������Ȩ����WebĿ¼����������

[code]ROOT# chown -R 888:888 /www/apache/htdocs[/code]

5.����Ͱ�װMySQL

����MySQL�����ǰ�װ���������������Ŀ¼���ϵģ���ʵ�ϣ����п����ǰ�װ������ϵͳ�ϵġ������ҵ������У����Ǻ�Apache��װ��һ��web�������ϵġ�

����������Ӱ��������û������ݿ����ڵأ��Լ����ɳ�ʼ�����ݿ�

����5.1 �����û���������MySQL���ݿ�������ߡ�

�������磺��home/mysql/������һ���û�777��777

[code]ROOT# groupadd -g 777 mysqldba

ROOT# useradd -c "mysql DBA" -d /home/mysql -u 777 -g 777 -m -n mysql[/code]

����5.2 �⿪ԭ�룬����ԭ��Ŀ¼����mysql���û�

[code]ROOT# groupadd -g 777 mysqldba

ROOT# useradd -c "mysql DBA" -d /home/mysql -u 777 -g 777 -m -n mysql[/code]

����5.3 ������Ϊmysql�û���Ϊmysql���ݿ⽨��Ŀ¼������ʼ��װ�ͱ���mysql

[code]$ mkdir ~/db ## where the DB will reside
$ cd /usr/local/src/mysql-3.22.27
$ ./configure --localstatedir=/home/mysql/db --prefix=/usr/local/mysql
$ make
$ make install[/code]

����5.4 ����*MySQL*��Ȩ����ֻ���ڰ�װ*MySQL֮ǰ������DZ���ģ�
[code]$ ./scripts/mysql_install_db[/code]
����5.5 ��װ���޸����ݿ�������ű��������ݿ�������ߴ�root��Ϊmysql
[code]

bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center">


  

ROOT# cd /usr/local/src/mysql-3.22.27/
ROOT# cp support-files/mysql.server /etc/rc.d/init.d/
ROOT# chmod 755 /etc/rc.d/init.d/mysql.server
ROOT# [ edit /etc/rc.d/init.d/mysql.server: ]
mysql_daemon_user=mysql ## so we can run mysqld as this user.
ROOT# chkconfig --add mysql.server ## permanently add server to rc scripts[/code]

����5.6 �ڰ�װ��mysql֮�󣬱�����չ������cache��

[code]ROOT# /sbin/ldconfig -nv /usr/local/lib[/code]

����5.7 Ϊmysql�������߱༭PATH�����������趨���ݿ��root���롣

[code]$ [ Edit shell login script .bash_profile: ]
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
$ . ~/.bash_profile ## source it!
$ mysqladmin -u root password '2mUch!data' ## pick your own password![/code]

6.����Ͱ�װPHP

����6.1 ��ֹͣApache��̨����daemon��������

[code]ROOT#chroot /www /apache/bin/apachectl stop[/code]

����6.2 ������Ҫ����PHP

���������ʹ�õ���non-DSO��װ����������±���Apache����ÿ��Ҫ����non-DSO���е��κ�һ������ʱ���㶼Ҫ��������һ�顣��

[code]$ cd /usr/local/src/chr ## I am NOT root!
$ tar zxf /path/to/php-4.02.tar.gz
$ cd php-4.02
non-DSO:
$ ./configure --with-mysql=/usr/local/mysql
--with-apache=../apache_1.3.12 --enable-track-vars
--with-config-file-path=/apache/conf --sharedstatedir=/tmp
DSO:
$ ./configure --with-mysql=/usr/local/mysql
--with-apxs=/apache/bin/apxs --enable-track-vars
--with-config-file-path=/apache/conf --sharedstatedir=/tmp
DSO:
(or add CFLAGS switch when mod_ssl was also configured as a DSO module)
$ CFLAGS=-DEAPI ./configure --with-mysql=/usr/local/mysql
--with-apxs=/apache/bin/apxs --enable-track-vars
--with-config-file-path=/apache/conf --sharedstatedir=/tmp
$ make
non-DSO:
$ make install
DSO:
ROOT# make install[/code]

��������DSO��PHP��װ��make install��ʱ���������root����Ϊģ����ֱ�ӽ���ģ��Ŀ¼��/apache/libexec�ģ����⣬Apache�������ļ�Ҳ�ı��ˡ�

����6.3 ����ֻ����non-DSO��װ�������±���Apache���ټ���PHPģ��

[code]$ cd ../apache_1.3.12/
$ ./configure --with-layout=chroot
--enable-module=most --enable-module=so
--activate-module=src/modules/php4/libphp4.a
$ make
ROOT# make install ## I am root![/code]

����6.4 ��ʵ�������������Ŀ¼���У���PHP��Ҫ����Ĺ����⣬������ldd���鿴

[code]For non-DSO: ldd /apache/bin/httpd

For DSO: ldd /apache/apache/libexec/libphp4.so[/code]

��������ʹ��С��forѭ������/lib��/usr/lib�п���������ļ�

[code]ROOT# cd /www
ROOT# for i in libresolv.so.2 libnsl.so.1 libpam.so.0 ; do
> cp -pi /lib/$i /www/lib/ ; done
ROOT# for i in libgd.so.1 libgdbm.so.2 libz.so.1; do
> cp -pi /usr/lib/$i /www/usr/lib/ ; done[/code]

����6.5 �������Ҫmysql��������������ĵط���װ��Ӧ�Ŀ�

[code]ROOT# cp -pi /usr/local/mysql/lib/mysql/libmysqlclient.so.6 /www/usr/lib/[/code]

����6.6 �����༭httpd.conf�ļ����������ſ���ʶ���.php�ļ�

[code]ROOT# cd /apache/conf
ROOT# [ edit /apache/conf/httpd.conf ]
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps[/code]
��������

���� 4 ������

  1. shyboy8688 �� 2006-09-05 15:32:12����:

    ����������

  2. skyy8484 �� 2006-09-01 16:36:53����:

    ��

  3. �Ϻ� �� 2006-09-01 08:21:17����:

    ����8.4 �������Ҫ��װ������Ȼ���ǰ�װ��Ŀ¼�����ˡ�

    ������������Ҽ���softsӵ��usr/local/tree����Ϊ��װopenssl��ȱʡ��ǰ׺/usr/local/ssl �����ǣ�Ҳ���DZ���Ҫ��װ���������Ϊ�������srcĿ¼������в�����������mod-ssl��

    [code]$ make install[/code]

    ����8.5 ����open-ssl

    [code]$ cd /usr/local/src/chr/mod_ssl-2.6.6-1.3.12

    $ ./configure -with-apache=../apache_1.3.12[/code]

    ����8.6 ����ApacheĿ¼���У���ɽ��������á����к͹���

    [code]$ cd /usr/local/src/chr/apache_1.3.12
    non-DSO:
    $ SSL_BASE=../openssl-0.9.5a RSA_BASE=../rsaref-2.0/local
    ./configure --prefix=/apache --with-layout=chroot
    --enable-module=most --enable-module=so --enable-module=ssl
    --disable-rule=SSL_COMPAT --enable-rule=SSL_SDBM
    --activate-module=src/modules/php4/libphp4.a
    --activate-module=src/modules/perl/libperl.a
    DSO:
    $ cd src/modules
    $ make clean ## seems to be necessary if you previously compiled in the apache tree
    $ cd ../../
    $ SSL_BASE=../openssl-0.9.5a RSA_BASE=../rsaref-2.0/local
    ./configure --prefix=/apache --with-layout=chroot
    --enable-module=most --enable-shared=max --enable-shared=ssl
    --disable-rule=SSL_COMPAT --enable-rule=SSL_SDBM
    $ make[/code]

    ����8.7 ���°�װApache������������У�Ҫֹͣ�����ٰ�װ��

    [code]ROOT# chroot /www /apache/bin/apachectl stop

    ROOT# make install ## I am root![/code]

    ����8.8 ����non-DSO��װ����Լ���ڲ�����ģ�顣

    [code]ROOT# chroot /www /apache/bin/httpd -l | grep -E '(php|perl|ssl)'
    mod_ssl.c
    mod_php4.c
    mod_perl.c[/code]

    ����8.9 ��ʵ�������������Ŀ¼��������������豸

    [code]ROOT# cd /www/dev
    ROOT# mknod random c 1 8
    ROOT# mknod urandom c 1 9[/code]

    ����8.10 ��ȱʡ�����ļ��ںϵ��㵱ǰ��httpd.conf�ļ��С�

    �������ڲ�ͬ�ڱ�׼�˿ڣ�80�˿ڣ��������˿��Ͻ����˲��ԣ����Ƕ��ڰ�ȫ�˿ڣ�443�˿ڣ���û��web���������������棬���������Ͼͻ���һ������˿ڡ�

    ��������������У��Ҷ�ȱʡ�������ļ�httpd.conf��һЩ�޸����£�

    [code]User www
    Group www
    ServerName yourserver.yourdomain.here
    Port 8088 ## pick a test port
    Listen 8088 ## in 'IfDefine SSL' section
    Listen 443 ## this is the standard secure port!
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    # your Hello.pm script for mod_perl testing:
    SetHandler perl-script
    PerlHandler Apache::Hello
    SSLCertificateFile /apache/conf/server.crt
    SSLCertificateKeyFile /apache/conf/server.key
    # in this example I generate the key and crt files into /apache/conf[/code]

    ����8.11 ��������ڻ�û��һ���������Ĺؼ��֣�keys������֤��certficate������ô���ھ���������

    ����������������Ҽ���openssl�����·���У���Ϊ���Ѿ���װ���������û�У���Ͱ����ӵ�·���С�ע�⣬���Ѿ��϶����ҵĹؼ��֣������Ҫ���dz���Ҫ���£������������Ȩ�������ַ���Щ�ؼ��֡�

    [code]ROOT# cd /www/apache/conf
    set up a path of random files��Ϊrandom�ļ�����·����
    ROOT# randfiles='/var/log/messages:/proc/net/unix:/proc/stat:/proc/ksyms'
    generate the server key����������˵���Կ��
    ROOT# openssl genrsa -rand
    $randfiles -out server.key 1024[/code]

    ����������ǩ������������֤�Լ���ʱ��Ҫ�����룩

    ����ע�����Common Name����ƥ������ȫ��Ȩ���ʵ�web server name

    [code]ROOT# openssl req -new -nodes -out request.pem -key server.key[/code]

    ����ǩ�����Լ�����Կ����Ч��һ�꣩

    [code]ROOT# openssl x509 -in request.pem -out server.crt -req -signkey server.key -days 365[/code]

    �������������Կ��֤��

    [code]ROOT# chmod 400 server.*[/code]

    ����ɾ�������ļ�

    [code]ROOT# rm request.pem[/code]

    ������ѡ���Եؼ��������Կ

    [code]ROOT# mv server.key server.key.unencrypted
    ROOT# openssl rsa -des3 -in server.key.unencrypted -out server.key
    ROOT# chmod 000 server.key.unencrypted ## better yet delete it![/code]

    ��������ı�ע�⣬������������Կ��ɾ�����ܵ����롣

    [code]ROOT# openssl rsa -in server.key -out server.key.un
    ROOT# mv server.key.un server.key
    ROOT# chmod 400 server.key[/code]

    ����8.12 ����ssl������Apache����ȷ�����ڹ�����

    [code]ROOT# chroot /www /apache/bin/apachectl start

    $ lynx -dump http://yourserver:8088/[/code]

    ����8.13 ��ssl������Apache������netscape����������

    [code]ROOT# chroot /www /apache/bin/apachectl stop
    ROOT# chroot /www /apache/bin/apachectl startssl
    $ netscape https://yourserver/[/code]

    ����8.14 �����������Ҫ�༭���server�����ļ������ڱ�׼�˿�(80�˿�)�����÷�������

    ���������������ã��㲻��Ҫ��443�˿��Ͻ�������

    9.һЩ��ȫ����

    �������Դ�һЩ����Apache�ĵ��л�ȡ������һ����Ҫ�ر�ע��ĵط�����httpd�ű��Ͻ��е���Ȩ�ı䡣

    [code]ROOT# chmod ugo-rw /www/apache/bin/*[/code]

    10.�������Լ������������������

    ������������Ҫ�����Լ������������������ʱ��һ��Ҫʮ��С�ġ���Unix���������һ�����������в�ͬ�ķ���������Գ��������ķ�����

    �������ṩ������һ�����ӣ�������ͨ��cgi�ű���php��������
    [code]...
    /** construct the file name as $f **/
    $cmd = "/bin/mail "-s Some-subject-line -t webmaster@localhost -f $f"";
    $op = exec( $cmd, $arr, $retval );
    ...
    ?>[/code]

    �����ļ�����Ϊwwwmail.c��

    11.��װ�Ժ�����������

    ����11.1 ȥ����װʱһЩ��Ҫ����ʱ����

    [code]ROOT# rm /apache /usr/Local[/code]

    ����11.2 ͨ����etc/rc.d/init.d�а�װ��Ϊhttpd�������ű��ļ����Զ�����Apache���磺

    [code]Standard appache on port 80

    Apache on ports 80 and 443 (startssl)[/code]

    ������������������chkconfig�����������Ե�����

    [code]ROOT# chkconfig --add httpd
    ROOT# chkconfig --list httpd
    httpd 0:off 1:off 2:on3:on4:on5:on6:off[/code]

    ����11.3 �Զ��ļ�¼triming�ļ���

    ������RedHatϵͳ��������Լ�����Ҫ��¼�Ǹ��ļ�����������ֻ����etc/logrotate/conf��˵�������ˡ�

    12.����RPM���ջ��ļ�

    �����������û��ʱ����ȫ�ı�����������Դ�RPMS�л�ȡ����Ȼ����Ҫ����ԭ�������һ���������������WebĿ¼�����������������ű����Ժ��һ�������ĵ����ģ�

    ����:
    Script file based on Red Hat 7.0 that will harvest the RPMs

    Script file for creating temporary SSL key and certificate (testing purposes only!!!)

  4. �Ϻ� �� 2006-09-01 08:17:51����:

    ����6.7 ����������̨����daemon��

    [code]ROOT# chroot /www /apache/bin/apachectl start[/code]

    ����6.8 ��non-DSO�У�����Լ���Ѿ��������PHP

    [code]ROOT# chroot /www /apache/bin/httpd -l | grep php

    mod_php4.c[/code]

    ����6.9 �����һ��С��helloworld�Ľű�����������php����������Ϊhello.php����װ���������Ҫ���Դ����Ļ����Կ���һ�ݻ�����hello.phps��ϵͳ���ӡ������꣬Ҫ�ر�������ӡ�

    7.����Ͱ�װperl

    ��������Լ򵥵Ľ�/usr/lib/perl5������www/usr/lib,����usr/bin/perl5.00503���ٶ���Red Hat6��0�汾��������www/usr/bin�У��������¡�ͬʱ������Ҫ��Ⲣ��װ�κ�ȱ�ٵĹ����⣬��Ҳ��Ҫ������usr/bin/perl5.00503��/www�е�/usr/bin/perl��Ӳ���ӡ�

    �����򵥵ķ����ǣ�

    [code]ROOT# cp -a /usr/lib/perl5 /www/usr/lib/perl
    ROOT# cp -p /usr/bin/perl5.00503 /www/usr/bin/
    ROOT# cd /www/usr/bin
    ROOT# ln perl5.00503 perl[/code]

    �������ǣ��һ��ǽ�һ��������װ�ͱ���perl���������Ҫ��װmod-perl,��ͱ����ڴ˱���perl��

    ����7.1 �������������������Ŀ¼���а�װ�ı�Ҫ�����ӡ�

    ����������ʹ��Ŀ¼���е�usr/Local��֮�������������е����ģ�ע�ⲻҪ������usr/local��������ȫ������һ���ʹ��softs�û�����װ

    [code]ROOT# mkdir /www/usr/Local
    ROOT# ln -s /www/usr/Local /usr/local
    ROOT# chown softs:softs /www/usr/Local[/code]

    ����7.2 ��RedHat�л�ȡRPM��Դ����

    [code]ROOT# rpm -i /path/to/perl-5.00503-2.src.rpm[/code]

    ����7.3 ��ΪԴ����Ŀ¼���������ߣ��⿪Perl

    [code]$ cd /usr/Local/src/chr

    $ tar zxf /usr/src/redhat/SOURCES/perl5.005_03.tar.gz[/code]

    ����7.4 RedHat��SRPM�а�����һЩ�����������ʹ����Ӧ�汾�IJ���������������У�������RedHat6��0�IJ�����

    [code]$ cp /usr/src/redhat/SOURCES/perl*.patch .
    $ cd perl5.005_03
    $ patch -p1 <../perl5-installman.patch
    $ patch -p1 <../perl5.005_02-buildsys.patch
    $ patch -p1 <../perl5.005_03-db1.patch[/code]

    ����7.5 ����Ҫ����Configure�������ܴ������ȴ�����á������Ҳ���manҳ��none��������˵�����������Ҷ�ȷ�����õ�һЩ�޸ģ�

    [code]$ ./Configure
    architecture name? i386-linux
    Installation prefix to use? /usr/Local
    Directories to use for library searches? /lib /usr/lib /usr/Local/lib
    install perl as /usr/bin/perl? n[/code]

    ����7.6 �����������

    [code]$ make
    $ make test
    $ make install[/code]

    ����7.7 ������usr/binĿ¼���е�perl�����ӡ�

    ���������û�а�װmod-perl������Ҫ��perlĿ¼��������Ȩת����root����������Ҳ���DZ���ģ�ֻҪWebĿ¼���������߶�perlĿ¼����Ȩ����ֻ�ɶ��ľ����ˣ�

    [code]ROOT# cd /www/usr/bin

    ROOT# ln -s ../Local/bin/perl perl[/code]

    ����7.8 ��鹲���⣬��װ�κ�ȱ�Ŀ⣨����Ҫ������������ã�

    ��������������У����Dz�ȱ�κο⣺

    [code]ROOT# ldd /www/usr/bin/perl
    libnsl.so.1 => /lib/libnsl.so.1 (0x4001b000)
    libdl.so.2 => /lib/libdl.so.2 (0x40031000)
    libm.so.6 => /lib/libm.so.6 (0x40035000)
    libc.so.6 => /lib/libc.so.6 (0x40052000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x40147000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)[/code]

    ����7.9 ������İ�װ��

    [code]ROOT# chroot /www /usr/bin/perl -v

    This is perl, version 5.005_03 built for i386-linux

    ... [/code]

    ����7.10 ���ð�װ��Apache�������ϵ�perl���ӵ�cgi bin �ű�

    [code]ROOT# cd /www/apache/cgi-bin

    ROOT# chmod ugo+x *[/code]

    ����7.11 ����Apache������������perl cgi bin�ű�������

    [code]ROOT# chroot /www /apache/bin/apachectl start

    $ lynx -dump http://yourserver/cgi-bin/printenv[/code]

    ����ͬʱ���test-cgi

    [code]$ lynx -dump http://yourserver/cgi-bin/test-cgi[/code]

    ����7.12 ���ִ�еĶ�����λ��cgi�ű���ȥ��������ȫȥ������Ҫ����������ӡ�

    [code]ROOT# chmod ugo-x /www/apache/cgi-bin/*[/code]

    8.����Ͱ�װmod-ssl

    ������������ʹ��DSO��ʽ��װmod-ssl����ϣ�����Ѿ�����ǰ��ĸ���ע�ͶΡ�

    ������������openssl��mod-ssl���һ�ѡ�������rsaref version 2.0.��Ӧ���Ķ�һЩ����mod-ssl���ĵ���Ϣ���Ա�����mod-ssl��һЩ���а汾��ѡ�

    ����ע�⣬openssl��rsaref�ṩ�˰����ļ�����Ϳ������ߣ���ʹ������Ա���mod-ssl�����Ծ�����˵�����������������Ŀ¼����һ���֣�����˵�ǰ�װ�ڸ�Ŀ¼���еġ�

    ����8.1 ��ȡopenssl��mod-ssl��rsaref20��Դ����

    [code]$ cd /usr/local/src/chr
    $ tar zxf /path/to/mod_ssl-2.6.6-1.3.12.tar.gz
    $ tar zxf /path/to/openssl-0.9.5a.tar.gz
    $ mkdir rsaref-2.0
    $ cd rsaref-2.0
    $ tar zxf /path/to/rsaref20.1996.tar.Z[/code]

    ����8.2 ���úͽ���RSA�ο��⡣

    ����ע�⣬��64λ�ṹ������rsaref������mod-ssl���е�INSTALL�ļ��ж�ȡ�ĵ���Ϣ��

    [code]$ cd /usr/local/src/chr/rsaref-2.0
    $ cp -rpi install/unix local
    $ cd local
    $ make
    $ marsaref.a librsaref.a[/code]

    ����8.3 ���úͽ���openssl��

    [code]$ cd /usr/local/src/chr/openssl-0.9.5a
    $ ./config -L/usr/local/src/chr/rsaref-2.0/local -fPIC
    $ make
    $ make test# inspect output for anomalies[/code]