最近要裝個Apache+Mysql+PHP的一個環境。 google下後,發現現在的安裝變得越來越簡單了。不再需要麻煩的配置安裝,只需簡單執行個sh就搞定了。
那我google到的有這麼幾個,分別對應不同的平台,首先是Windows下的套件安裝有EasyPHP,Uniform Server;
Solaris下的有SAMP, 支援各個平台的有XAMPP,這個也是在網上聲譽最好的, 不過在支援Solaris10下是有問題的。 所以建議solaris的平台使用SAMP。 我這裡轉帖一個寫的很詳細的SAMP的安裝步驟
來源於:http://www.chinasolaris.com/viewthread.php?tid=1185&extra=page%3D1
SAMP(Solaris、Apache、MySQL和Perl/Python/PHP)是從LAMP(Linux、Apache、MySQL和PHP)演化而來,其架構 1 。
圖 1 SAMP 架構
一、SAMP下載安裝過程!
SAMP 的安裝和配置,有兩種方法:
( 1 )分別依次下載、安裝和配置 Apache 、 MySQL 和 PHP/Perl/Python 。
( 2 ) 下載、安裝和配置 CoolStack 。 CoolStack 是一個包含了最為常用的 、且為 Sun Solaris 作業系統特別最佳化過的開源軟體包。而其中的重點就是 Apache 、 PHP 和 MySQL 。因此,使用這個包, AMP 可以運行在最佳狀態。這裡推薦直接安裝 CoolStack 包 。CoolStack官方網站: http://cooltools.sunsource.net/coolstack/ , 下載前必須註冊一個有效ID 才能進行下載。在下載的頁面上點擊cool stack 1.2下載,這裡有適用於不同平台的安裝版本(SPARC, Intel x86/AMD64),1.2版本的 CoolStack下載頁面:
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/DownloadSingleSoftware-Start?ProductID=H.9IBe.o7LYAAAEbXXUGcQZU&LICENSE-x8JIBe.ofkIAAAEbYHUGcQZU=on&s_eVar4=cds&VVA_00000000005000063844=English&VVA_00000000005000063845=Solaris%2010%20OS%20(x86)
主要包括如下軟體包:
· CSKamp 。即 AMP 組件包: CSKapache2 、 CSKphp5 和 CSKmysql32 。此包已經過預先配置,保證安裝後就可以協同工作。其中的 MySQL 是 32 位版本。
· CSKruntime 。是其他大多數包都依賴的運行時包。 既然是被依賴包,安裝時就要注意:必須先安裝此運行時包,再安裝其他依賴包。
· CSKmysql 。 MySQL5 的 64 位元版本包。
· CSKperl 。 Perl5 包及相關的一些擴充庫。
· CSKphplibsbundle 。各種 PHP 擴充包所依賴的庫,具體又包括三個包:
· CSKmemcached 。著名的分布式對象緩衝工具: Memcached 。
· CSKruby 。 Ruby 及 rubygems 、 rails 封包。
· CSKsquid 。 Web 緩衝工具 Squid 。
· CSKtomcat 。純 Java 的 Apache Tomcat ,和 tomcat.apache.org 上的 tomcat 不同。
· CSKlighttpd 。輕量級Web 服務器 lighttpd 。
1 安裝CSKruntime!
# bunzip2 CSKruntime_1.2_x86.pkg.bz2
# mkdir /var/tmp/CSKruntime-test
# pkgtrans CSKruntime_1.2_x86.pkg /var/tmp/CSKruntime-test/
# pkgadd -d /var/tmp/CSKruntime-test/
安裝過程省略。
2 安裝CSKamp
# bunzip2 CSKamp_1.2_x86.pkg.bz2
# mkdir /var/tmp/CSKamp-test/
# pkgtrans CSKamp_x86.pkg /var/tmp/CSKamp-test/
# pkgadd -d /var/tmp/CSKamp-test/
安裝過程省略。
3 安裝CSKphplibsbundle
# bunzip2 CSKphplibsbundle_1.2_x86.pkg.bz2
# mkdir /var/tmp/CSKphplibsbundle-test
# pkgtrans CSKphplibsbundle_1.2_x86.pkg /var/tmp/ CSKphplibsbundle-test
# pkgadd -d /var/tmp/ CSKphplibsbundle-test /
4 驗證安裝版本
使用命令如下:# pkginfo -l CSKapache2
pkginfo -l CSKapache2
PKGINST: CSKapache2
NAME: Apache httpd
CATEGORY: application
ARCH: i386
VERSION: 2.2.6
BASEDIR: /
VENDOR: Apache
DESC: httpd is built with MPM pre-fork and modules to support PHP, SSL and Perl. PSTAMP:
INSTDATE: 8?? 07 2008 16:59
HOTLINE: Please see http://httpd.apache.org/bug_report.html
STATUS: 全部安裝2
FILES: 1378 個已安裝的路徑名
7 個共用的路徑名
55 目錄
92 可執行檔
1 setuid/setgid可執行檔
59831 個已使用的塊(近似)
可以看到Apache 提供的是 worker 模組,而不是老的 prefork.c 模組。
圖 2、3 是PHP5和Mysql 32位版本的 驗證介面。
二、 Mysql伺服器的初始化和啟動
拷貝設定檔
cp /opt/coolstack/mysql_32bit/share/mysql/my-medium.cnf /etc/my.cnf
添加mysql 使用者和使用者組:
# groupadd mysql
# useradd -g mysql mysql
初始化mysql 4 ,命令如下
# /opt/coolstack/mysql_32bit/bin/mysql_install_db
圖 4 初始化mysql
初始化mysql後會自動建立一個/opt/coolstack/mysql_32bit/data 目錄,設定 mysql 使用者對 data 檔案夾的存取權限:
# chown -R mysql:mysql /opt/coolstack/mysql_32bit/data
現在可以啟動 MySQL 進程了:
# /opt/coolstack/mysql_32bit/bin/mysqld_safe &
其執行過程 5 所示。
測試mysql用戶端
使用命令建立一個簡單資料庫
# /opt/coolstack/mysql_32bit/bin/mysqladmin create testdb
# /opt/coolstack/mysql_32bit/bin/mysql
Welcome to the MySQL monitor. Commands end with
Your MySQL connection id is 3
Server version: 5.0.45-standard-log Source distribution
Type "help;" or "\h" for help. Type "\c" to clear the buffer.
mysql>
mysql> use testdb9
Database changed
mysql>#
mysql> exit
說明:通過 CoolStack 安裝後的 MySQL ,字元集為 UTF-8 ,串連校對格式為 utf8_general_ci 。
三、把mysql和apache設定為SMF服務
SMF是Solaris 10作業系統中的軟體服務管理工 具。它替代了以前作業系統的/etc/*.d中的服務運行指令碼。對於使用過Linux的讀者來說,SMF的功能類似"ntsys"中的"守護進程";對於 使用過UNIX的讀者來說,這個功能就是替代部分目錄/etc/rc*.d中的啟動指令碼程式(還有一本分沒有替代)和超級伺服器(inetd)的功能。另 外,使用過Solaris 9的讀者知道,Solaris 9是沒有這個管理工具的,這是Solaris 10的新功能。把mysql和apache設定為SMF服務,並且隨Solaris 伺服器同時啟動:
# svcadm enable svc:/network/csk-mysql32:default
# svcadm enable svc:/network/csk-http:CSKapache2
查看Mysql和apache 服務狀態命令如下:
# svcs -a | grep csk-mysql32
online 9:17:31 svc:/network/csk-mysql32:default
服務的狀態有以下幾種類型:
? degraded,服務已經啟動,但是在受限制的狀態運行。
? disabled,服務處於關閉狀態。
? legacy_run,這個服務是不被SMF所管理的,但是可以被SMF所監測到。
? maintenance,維護狀態。這個服務有大量的錯誤且應由管理者進行修複。
? offline,這個服務已經啟動了,但是處於離線運行狀態,沒有線上運行。
? online,服務已經啟動,並且線上運行。
? uninitialized,服務正處於初始化狀態。
四、測試SAMP 環境
啟動mysql伺服器
# svcadm enable csk-mysql32
啟動Apache 伺服器
# svcadm enable csk-http
說明:mysql和apache 伺服器關閉命令依次如下:
測試Apache,選擇菜單 " 應用程式 "|"Internet"|"Firefox 網頁瀏覽器 " ,開啟 Firefox ,在地址欄輸入 http://localhost ,看 Apache 是否成功運行。若出現了標題為 "Cool Stack from the OpenSolaris Web Stack project" 的首頁,說明 Apache 能成功提供基礎的 HTML 服務了。 6 。
圖 6 測試Apache伺服器
測試 Apache 是否能解析 PHP 文檔。使用vi編輯一個檔案phpinfo.php
# cd /opt/coolstack/apache2/htdocs/
# vi phpinfo.php
<html>
<body>
<p>Hello SAMP!</?>
<?php phpinfo(); ?>
</body>
</html>
</code>
在地址欄輸入 http://localhost/phpinfo.php 如果出現圖 7 表示php解析成功。
圖 7測試 Apache 是否能解析 PHP 文檔
常見故障排除:
如果Apache 不能解析 PHP 文檔,修改php設定檔: /opt/coolstack/php5/lib/php.ini ,添加兩行:
extension="mysql.so"
extension="mysqli.so"
修改apache設定檔/opt/coolstack/apache2/conf/httpd.conf,添加一行:
LoadModule php5_module modules/libphp5.so. U' Z4 m7 R# }" k7 F
總結:本 文使用Solaris 版本是U4 版本,另外同樣可以適用於Open Solaris, SXDE 。CoolStack 有1.1 、1.2 、1.3RC 三個版本本文使用的是1.2。AMP 還主要應用在各類 Linux 平台上,構成了有名的 LAMP 架構。而Solaris 上的 AMP即SAMP 目前成為堪與 LAMP 、 WAMP ( Windows + AMP )和 MLAP ( Mac OS + AMP )媲美的Web 開發平台。
其中我加紅那段,並不是每個人執行的命令都一樣。 我們應該先用這個命令查看下svcs -a|grep csk
online 13:15:28 svc:/network/http:apache22-csk
online 13:15:46 svc:/application/database/mysql:mysql32-csk
然後根據具體的內容來使用下面的命令,比如向我這裡的環境,接下來我就要使用
svcadm enable svc:/application/database/mysql:mysql32-csk
svcadm enable svc:/network/http:apache22-csk
來把他們的狀態由disable 變為 online
接著我們啟動apache和mysql
svcadm enable apache22-csk
svcadm enable mysql32-csk
這樣就好了