您的当前位置:首页正文

Linux下Apache+PHP+MySql+Cgi_MySQL

2020-11-09 来源:个人技术集锦

Apache


  apache1.3.24+php4.21+mysql3.23.49+openssl+mod_ssl+mod_perl+mod_fastcgi
  这里要注意的是apache 1.3x可以用静态php模块
  2.x.x目前还只可以用动态,并且没有windows版本
  
  本安装所需要的软件包:
  apache_1.3.24.tar.gz
  php-4.2.1.tar.gz
  mysql-3.23.49.tar.gz
  mod_fastcgi-2.2.12.tar.gz
  mod_perl-1.26.tar.gz
  mod_ssl-2.8.8-1.3.24.tar.gz
  openssl-0.9.6d.tar.gz
  
  虽然 apache 版本已到 2.0.36,但从其它资料看好像并未真正走出试验阶段,而且最新的 php 4.21 目前也无法编译为 apache 2.0.xx 的静态模块。而本安装采用的是编译为静态模块,因此没有采用新版 apache。
  ###################################################
  安装:
  将这些包放在一个目录下,如 /usr/local/src
  然后解压缩这些包:
  tar xzvf apche_1.3.24.tar.gz
  tar xzvf php-4.2.1.tar.gz
  tar xzvf mysql-3.23.49.tar.gz
  tar xzvf mod_fastcgi-2.2.12.tar.gz
  tar xzvf mod_perl-1.26.tar.gz
  tar xzvf mod_ssl-2.8.8.-1.3.24.tar.gz
  tar xzvf openssl-0.9.6d.tar.gz
  
  解压缩完成后将会看到在当前目录下已经出现了解压缩后生成的文件夹
  
  现在开始配置编译:
  
  1. 首先安装 MySQL
  需要PTH噢,别忘记
  1) 建立 MySQL 用户组:
  
  groupadd mysql
  useradd -g mysql mysql
  
  2) 配置并编译
  
  cd mysql-3.23.49
  ./config --prefix=/usr/local/mysql
  
  如果想使用 MySQL 事务的话,可以加上 --with-berkeley-db,即:
  
  ./configure --prefix=/usr/local/mysql --with-berkeley-db
  
  配置完成后就可以编译了
  
  3) 编译安装
  编译很简单,只有一个命令
  
  make
  
  然后安装
  
  make install
  
  4) 初始化
  安装结束后还没完,还有几个步骤,首先是初始化数据库
  
  scripts/mysql_install_db
  
  然后是设置权限
  
  chown -R root /usr/local/mysql
  chown -R mysql /usr/local/mysql/var
  chgrp -R mysql /usr/local/mysql
  
  然后将启动 MySQL 所需的 my.cnf 拷贝到 /etc 目录下
  
  cp /usr/local/mysql/share/mysql//my-medium.cnf /etc/my.cnf
  (其中还有三个文件,my-small.cnf、my-large.cnf和my-huge.cnf,
  是对于机器性能而言的,最后一个适用于2GB左右内存
  
  5) 启动
  
  /usr/local/mysql/bin/safe_mysqld --user=mysql &
  
  你可以看到启动信息,这时应该给 root 用户设置密码了,因为安装后默认是没有密码的
  
  6) 为 root 设置密码
  
  /usr/local/mysql/bin/mysqladmin -u root -p password your_new_password
  
  注意,第一个 password 是命令的参数,依原样键入,而 your_new_password 就是你要设置的新密码。例如,要将 root 密码设为123456,那么这样输入命令:
  
  /usr/local/mysql/bin/mysqladmin -u root -p password 123456
  
  回车后系统会提示你输入当前密码,应该是像下面这样:
  
  Enter password:
  
  因为此时还没有密码,所以直接回车即可,这时没有任何提示返回提示符状态,而密码已经设置完成。此时可以通过关闭 MySQL 服务验证密码是否生效:
  
  /usr/local/mysql/bin/mysqladmin -u root -p shutdown
  Enter password:123456
  
  系统提示 MySQL 已关闭:
  
  020531 13:14:35 mysql ended
  [1]+ Done /usr/local/mysql/bin/safe_mysqld --user=mysql
  
  ##########################################################################
  
  2. 安装 apache + php + 其它模块
  先来配置模块
  
  cd /usr/local/src
  
  1) 将 fastcgi 目录移至 apache 的模块目录下并更名为 fastcgi
  
  mv mod_fastcgi-2.2.12 apache_1.3.24/src/modules/fastcgi
  
  2) 配置并编译 openssl 模块
  
  cd /usr/local/src/openssl-0.9.6d
  sh config
  make
  make test
  
  3) 配置 mod_ssl
  
  cd /usr/local/src/mod_ssl-2.8.8-1.3.24
  ./configure --with-apache=../apache_1.3.24
  
  4) 配置编译并安装 mod_perl
  
  cd /usr/local/src/mod_perl-1.26
  perl Makefile.PL APACHE_SRC=../apache_1.3.24/src DO_HTTPD=1 USE_APACI=1 PRE_HTTPD=1 EVERYTHING=1
  
  然后编译
  
  make
  
  接着测试编译结果
  
  make test
  
  安装
  
  make install
  
  5) 配置 apache
  
  cd /usr/local/src/apache_1.3.24
  SSL_BASE=../openssl-0.9.6d ./configure --prefix=/usr/local/apache --enable-module=ssl --activate-module=src/modules/fastcgi/libfastcgi.a --activate-module=src/modules/perl/libperl.a
  
  现在已初步完成了 apache 的配置,接下来开始搞定 php
  
  6) 配置编译安装 php-4.2.1
  
  cd /usr/local/src/php-4.2.1
  ./configure --with-mysql=/usr/local/mysql --with-apache=../apache_1.3.24 --enable-track-vars --enable-trans-sid --with-gd
  
  然后编译
  
  make
  
  安装
  
  make install
  
  7) 重新配置并编译安装 apache
  
  cd /usr/local/src/apache_1.3.24
  ./config.status --activate-module=src/modules/php4/libphp4.a
  
  编译
  
  make
  
  安装
  
  make certificate
  make install
  
  8) 最后设置
  
  cd /usr/local/src/php-4.2.1
  cp php.ini-dist /usr/local/lib/php.ini
  
  你可以按需要编辑 php.ini
  
  编辑 /usr/local/apache/conf 目录下的 httpd.conf
  
  找到:
  
  DirectoryIndex index.html
  

  
  改为:
  
  DirectoryIndex index.html index.php
  

  
  在文件中增加一条:
  AddType application/x-httpd-php .php
  
  设置结束。
  
  9) 调试
  
  系统启动时加载mysql
  cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql
  cd /etc/rc.d/rc3.d
  ln -s ../init.d/mysql S70mysql
  
  系统启动时加载apache
  cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
  cd /etc/rc.d/rc3.d
  ln -s ../init.d/httpd S80httpd
显示全文