Solaris 10下架構MySQL + Apache + php 系統

本文介紹一下在solaris 10下安裝使用MySQL + Apache + php

>安裝MySQL
如果安裝Solaris 10時候,選擇了完全安裝,那就已經安裝好了MySQL。
如果沒有安裝的話,我們可以通過pkgadd命令安裝,軟件包是:SUNWmysqlr SUNWmysqlt SUNWmysqlu。
這三個軟件包含在Solaris 10安裝光盤中。都

>配置MySQL
在使用MySQL之前,我們還需要做一些配置。
#/usr/sfw/bin/mysql_install_db
初始化數據庫

爲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服務進程的配置文件,我們這裏使用mysql提供的一個默認配置文件my-medium.cnf
#cp /usr/sfw/share/mysql/my-medium.cnf /var/mysql/my.cnf
好了啓動mysql
#/etc/sfw/mysql/mysql.server start
關閉mysql
#/usr/sfw/bin/mysqladmin shutdown

由於Solaris 10引入了SMF功能,一些服務程序都由SMF來控制託管。每個SMF託管服務程序都需要一個配置文件,
這邊有一個例子供大家參考

我們將這個配置文件mysql.xml放到/var/svc/manifest/network目錄中
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type='manifest' name='cuddletech:mysql'>
<service name='application/mysql' type='service' version='4'>
<create_default_instance enabled='false'/>
<single_instance/>
<dependency name='fs-local' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/system/filesystem/local'/>
</dependency>
<exec_method type='method' name='start' exec='/etc/sfw/mysql/mysql.server start' timeout_seconds='60' />
<exec_method type='method' name='stop' exec='/usr/sfw/bin/mysqladmin shutdown' timeout_seconds='60' />
<exec_method type='method' name='refresh' exec='/usr/sfw/bin/mysqladmin refresh' timeout_seconds='60' />
<stability value='Unstable' />
<template>
<common_name>
<loctext xml:lang='C'>MySQL Server</loctext>
</common_name>
<documentation>
<doc_link name='mysql.org' uri='http://dev.mysql.com/doc/mysql/en/index.html' />
</documentation>
</template>
</service>
</service_bundle>

使用svccfg驗證並倒入配置文件
#svccfg validate /var/svc/manifest/network/mysql.xml
#svccfg import /var/svc/manifest/network/mysql.xml

使用svcadm啓動, 關閉mysql
#svcadm enable mysql
#svcadm disable mysql


>Apache
Solaris 10安裝光盤中含有Apache 1.3.9和Apache 2.0。
安裝好後還需要和安裝php模塊。我們下邊以Apache 1.3.9爲例。

>PHP
php的模塊是SFWmphp,含在Solaris Companion CD。
我們可以免費從網上下載http://www.sun.com/software/solaris/freeware/

將php模塊添加
#/opt/sfw/apache/x_postinstall
指定apache的配置文件
#cp /etc/apache/httpd.conf-php-example /etc/httpd.conf

同樣我們可以使用SMF控制apache。這邊有個Sun提供的配置文件:
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
Copyright 2004 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.

ident "@(#)http-apache.xml 1.2 04/11/11 SMI"
-->

<service_bundle type='manifest' name='SUNWapchr:apache'>

<service
name='network/http'
type='service'
version='1'>

<!--
Because we may have multiple instances of network/http
provided by different implementations, we keep dependencies
and methods within the instance.
-->

<instance name='apache' enabled='false'>
<dependency name='physical'
grouping='optional_all'
restart_on='error'
type='service'>
<service_fmri value='svc:/network/physical:default'/>
</dependency>

<exec_method
type='method'
name='start'
exec='/etc/init.d/apache start'
timeout_seconds='60' />

<exec_method
type='method'
name='stop'
exec='/etc/init.d/apache stop'
timeout_seconds='60' />

<exec_method
type='method'
name='refresh'
exec='/etc/init.d/apache restart'
timeout_seconds='60' />

<property_group name='httpd' type='application'>
<stability value='Evolving' />
<propval name='ssl' type='boolean' value='false' />
</property_group>

<property_group name='startd' type='framework'>
<!-- sub-process core dumps shouldn't restart
session -->
<propval name='ignore_error' type='astring'
value='core,signal' />
</property_group>

</instance>

<stability value='Evolving' />

<template>
<common_name>
<loctext xml:lang='C'>
Apache HTTP server
</loctext>
</common_name>
<documentation>
<manpage title='apache' section='1M' />
<doc_link name='apache.org'
uri='http://httpd.apache.org' />
</documentation>
</template>
</service>

</service_bundle>

把該文件保存到/var/svc/manifest/network/目錄中,倒入到SMF。
# svccfg validate /var/svc/manifest/network/http-apache.xml
# svccfg import /var/svc/manifest/network/http-apache.xml  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章