前言
本文面向已具备 Apache、MySQL 和 PHP 基础操作经验的读者,重点聚焦于提供正确且高效的安装流程。关于 Apache、MySQL 和 PHP 的详细配置、性能调优以及软件测试等内容,本文不作展开。下面直接进入实操环节。
设定、测试与启动 Apache2
Solaris 10 系统已内置安装了 Apache 2.xx 版本,只需进行简单配置即可投入使用。
- 首先使用 root 身份登录文字模式系统(Console Mode)。
- 复制配置文件:
# cp /etc/apache2/httpd.conf-example /etc/apache2/httpd.conf - 编辑
/etc/apache2/httpd.conf:- 设置你需要的 ServerName(服务器名称),默认值为 127.0.0.1。
- 在 ServerAdmin 处填写正确的 E-mail 地址。
- 使用以下命令启动 Apache:
# svcadm enable apache2
完成后,建议重启 Solaris 系统,以验证 Apache 是否能够随系统自动启动。基础网页文件存放于 /var/apache2/htdocs 目录。
设定、测试与启动 MySQL
Solaris 10 同样内置了 MySQL 数据库。整个配置过程需以 root 身份执行。以下步骤的详细说明可在 /usr/sfw/src/mysql/Docs 目录中找到。
- 用 root 登录 Console Mode,首先进行数据库初始化:
# /usr/sfw/bin/mysql_install_db
输出大致如下(限于篇幅,仅截取关键部分):
Preparing db table Preparing host table Preparing user table Preparing func table Preparing tables_priv table Preparing columns_priv table Installing all prepared tables 060118 21:24:03 /usr/sfw/sbin/mysqld: Shutdown Complete
- 创建 mysql 用户和组,并设置数据目录权限:
# groupadd mysql
# useradd -g mysql mysql
# chgrp -R mysql /var/mysql
# chmod -R 770 /var/mysql
# installf SUNWmysqlr /var/mysql d 770 root mysql - 默认 MySQL 配置文件路径为
/var/mysql/my.cnf。 - 复制示例配置文件:
# cp /usr/sfw/share/mysql/my-medium.cnf /var/mysql/my.cnf - 手动启动 MySQL:
# /usr/sfw/sbin/mysqld_safe --user=mysql & - 为 MySQL 的 root 用户设置密码(请务必将
new-password替换为你想要的密码,出于安全考虑不要保留默认值):
# cd /usr/sfw/bin
# ./mysqladmin -u-root password 'new-password'
# ./mysqladmin -u-root -h `hostname` password 'new-password' - 测试 MySQL Server:
# ./mysqlshow -p(输入密码后应显示数据库列表)
再尝试用./mysql -u-root -p登录,并执行show databases;,预期输出:
+-----------+ | Databases | +-----------+ | mysql | | test | +-----------+ 2 rows in set (0.00 sec) mysql> quit; Bye
- 设置 Solaris 在启动和关机时自动运行和停止 MySQL:
# ln /etc/sfw/mysql/mysql.server /etc/rc3.d/S99mysql
# ln /etc/sfw/mysql/mysql.server /etc/rc0.d/K00mysql
# ln /etc/sfw/mysql/mysql.server /etc/rc1.d/K00mysql
# ln /etc/sfw/mysql/mysql.server /etc/rc2.d/K00mysql
# ln /etc/sfw/mysql/mysql.server /etc/rcS.d/K00mysql - 完成后重新启动 Solaris,验证 MySQL 能否自动启动。默认配置文件的路径仍为
/var/mysql/my.cnf。
下载与设定 PHP
- 用 root 登录 Console Mode。
- 检查 PATH 环境变量中是否包含
/opt/csw/bin和/usr/sfw/bin,如果没有,请手动添加。例如:
# bash
# export PS1='\u:\w#'
root:/# echo $PATH
预期输出类似:
/opt/csw/bin:/usr/sfw/bin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/dt/bin:/usr/ccs/bin
- 安装 pkg-get:
root:/# mkdir /usr/local/src
root:/# cd /usr/local/src
root:/usr/local/src# wget https://blastwa ve.org/pkg_get.pkg
root:/usr/local/src# cp pkg_get.pkg ..
root:/usr/local/src# pkgadd -d pkg_get.pkg all
安装过程中系统会询问是否创建目录等,按提示输入 y 即可。最后会显示安装成功。 - 检查 pkg-get 和 wget 的位置:
root:/# which pkg-get→/opt/csw/bin/pkg-get
root:/# which wget→/usr/sfw/bin/wget - 安装完整的 wget 软件:
root:/# pkg-get -i wget
注意:执行时会出现大量输出文字,只要顺利结束即可。 - 移除旧版本的 wget:
root:/# cd /usr/sfw/bin
root:/usr/sfw/bin# mv wget wget.orig
root:/usr/sfw/bin# exit
# bash
# export PS1='\u:\w#' - 检查新版 wget 的位置是否正确:
root:/# which wget→/opt/csw/bin/wget - 检查 GNU Autoconf 版本是否为 2.59 或更高:
root:/# which autoconf && autoconf --version | head -2
如果版本低于 2.59,执行pkg-get -i autoconf安装。 - 检查 GNU automake 版本是否为 1.8.3 或更高:
root:/# which automake && automake --version | head -2
如果版本不足,执行pkg-get -i automake。 - 检查 GNU sed 版本是否为 4.1.4 或更高:
root:/# which gsed && gsed --version | head -2
如果版本不足,执行pkg-get -i gsed。 - 检查 gcc 版本是否为 3.4.3 或更高:
root:/# which gcc && gcc --version | head -2
如果版本不足,执行pkg-get -i gcc。 - 检查 GNU Make 版本是否为 3.80 或更高:
root:/# which gmake && gmake --version | head -2
如果版本不足,执行pkg-get -i gmake。 - 检查 flex 版本是否为 2.5.4 或更高:
root:/# which flex && flex --version | head -2
如果版本不足,执行pkg-get -i flex。 - 检查 GNU Bison 版本是否为 1.875 或更高:
root:/# which bison && bison --version | head -2
如果版本不足,执行pkg-get -i bison。 - 检查 GNU M4 版本是否为 1.4.3 或更高:
root:/# which gm4 && gm4 --version | head -2
如果版本不足,执行pkg-get -i gm4。 - 检查 Perl 版本是否为 5.8 或更高:
root:/# which perl && perl -v | head -2
如果版本不足,执行pkg-get -i perl。 - 检查 GNU zip 版本是否为 1.3.3 或更高:
root:/# which gunzip && gunzip -V | head -2
如果版本不足,执行pkg-get -i gunzip。 - 检查 GNU tar 版本是否为 1.14 或更高:
root:/# which gtar && gtar --version | head -2
如果版本不足,执行pkg-get -i gtar。 - 安装 libxml2 2.6.23(特别注意事项)。
特别提醒: libxml2 不能安装到需要 mount 的驱动器上。因为 Solaris 启动时,Apache 和 PHP 自动启动需要直接调用 libxml2,而此时 mount 驱动尚未就绪。如果你习惯将/usr/local放在 mount 驱动器上,请务必不要将 libxml2 安装到/usr/local,否则重启后 Apache 和 PHP 将无法自动启动,只能手动操作。下面示例将 libxml2 安装到/usr/slocal:
root:/# cd /usr/local/src
root:/usr/local/src# wget ftp://xmlsoft.org/libxml2/libxml2-2.6.23.tar.gz
root:/usr/local/src# mkdir /usr/slocal
root:/usr/local/src# cp libxml2-2.6.23.tar.gz /usr/slocal
root:/usr/local/src# cd /usr/slocal
root:/usr/slocal# gunzip -cd libxml2-2.6.23.tar.gz | gtar xvpf -
root:/usr/slocal# cd libxml2-2.6.23
root:/usr/slocal/libxml2-2.6.23# ./configure --prefix=/usr/slocal
root:/usr/slocal/libxml2-2.6.23# gmake
root:/usr/slocal/libxml2-2.6.23# gmake install - 如果系统中没有
/etc/apache2/httpd.conf,则复制:
root:/# cp /etc/apache2/httpd.conf-example /etc/apache2/httpd.conf
编辑该文件,设置 ServerName 和 ServerAdmin。 - 下载最新版本的 PHP(可从 https://php.net/downloads.php 获取)。以 5.1.2 为例:
root:/# cd /usr/local/src
root:/usr/local/src# wget https://hk.php.net/get/php-5.1.2.tar.gz/from/this/mirror
root:/usr/local/src# cp php-5.1.2.tar.gz ..
root:/usr/local/src# cd ..
root:/usr/local# gunzip -cd php-5.1.2.tar.gz | gtar xvpf -
root:/usr/local# cd php-5.1.2
root:/usr/local/php-5.1.2# ./configure --with-apxs2=/usr/apache2/bin/apxs \
--with-mysql=/usr/sfw/ --enable-dbase --with-libxml-dir=/usr/slocal \
--with-config-file-path=/etc/apache2 --with-gd-dir=/opt/sfw/bin \
--with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-zlib --enable-mbstring
root:/usr/local/php-5.1.2# gmake
root:/usr/local/php-5.1.2# gmake install - 安装完成后,复制 php.ini 配置文件:
root:/usr/local/php-5.1.2# cp php.ini-dist /etc/apache2/php.ini - 进入 Apache 配置目录:
root:/usr/local/php-5.1.2# cd /etc/apache2 - 如果需要修改 PHP 配置,可编辑
/etc/apache2/php.ini。 - 编辑
httpd.conf文件。PHP 安装程序通常会在httpd.conf中自动添加一行:
LoadModule php5_module libexec/libphp5.so
请确认该行确实存在。然后手动在文件末尾添加:
AddType application/x-httpd-php .php - 启动 Apache2 并测试:
# svcadm enable apache2
# svcs | grep -i apache2
若输出显示online状态,则表示启动成功。 - 重新启动 Solaris,检查 Apache2 能否自动启动。如果无法自动启动(仅能手动启动),请回顾第 19 步的注意事项。
至此,Apache、MySQL 和 PHP 在 Solaris 10 上的快速安装流程全部结束。默认 Apache 配置文件路径:/etc/apache2/httpd.conf,默认 MySQL 配置文件路径:/var/mysql/my.cnf,默认 PHP 配置文件路径:/etc/apache2/php.ini。
