SmartDog网站安装配置过程编写成智能安装脚本,脚本功能要求如下:
1. 判断apache、mysql、php是否已被安装,如果已经被安装,则只安装未被安装的;
2. 要向mysql中创建总部网站管理员sdadmin具有smartdog_db数据库的全部操作权限,分公司管理员suad01具有对smartdog_db的select、update、insert权限
3. 完成总部网站、分公司网站两个虚拟主机的配置。
一、判断apache、mysql、php是否已被安装,如果已经被安装,则只安装未被安装的;
1)安装 apache WEB 服务器
2)安装 Mysql DB 服务器
3)安装 PHP 服务器
4)整合 LAMP 架构并启动服务
1、Apache 服务器安装部署。
下载 httpd-2.2.27.tar.gz 版本,下载 URL,解压,进入安装目
录,configure;make ;make install
2、Mysql 服务器的安装。
下载 mysql-5.5.20.tar.bz2 版本,下载 URL,解压,进入安装目
录,configure;make ;make install
3、PHP 服务器安装。
下载 php-5.3.8.tar.bz2 版本,下载 URL,解压,进入安装目录,
configure;make ;make install
4、LAMP 架构的整合和服务启动。
/usr/local/apache2/bin/apachectl start
vi htdocs/index.php
<?php
phpinfo();
?>
vi auto_lamp.sh 内容如下:
#!/bin/bash
#auto install LAMP
#by wugk 2014-11
#Httpd define path variable
H_FILES=httpd-2.2.27.tar.bz2
H_FILES_DIR=httpd-2.2.27
H_URL=http://mirrors.cnnic.cn/apache/httpd/
H_PREFIX=/usr/local/apache2/
#MySQL define path variable
M_FILES=mysql-5.5.20.tar.gz
M_FILES_DIR=mysql-5.5.20
M_URL=http://down1.chinaunix.net/distfiles/
M_PREFIX=/usr/local/mysql/
#PHP define path variable
P_FILES=php-5.3.28.tar.bz2
P_FILES_DIR=php-5.3.28
P_URL=http://mirrors.sohu.com/php/
P_PREFIX=/usr/local/php5/
echo -e '\033[32m-----------------------------\033[0m'
echo
if [ -z "$1" ];then
echo -e "\033[36mPlease Select Install Menu
follow:\033[0m"
echo -e "\033[32m1)编译安装 Apache 服务器\033[1m"
echo "2)编译安装 MySQL 服务器"
echo "3)编译安装 PHP 服务器"
echo "4)配置 index.php 并启动 LAMP 服务"
echo -e "\033[31mUsage: { /bin/sh $0
1|2|3|4|help}\033[0m"
exit
fi
if [[ "$1" -eq "help" ]];then
echo -e "\033[36mPlease Select Install Menu
follow:\033[0m"
echo -e "\033[32m1)编译安装 Apache 服务器\033[1m"
echo "2)编译安装 MySQL 服务器"
echo "3)编译安装 PHP 服务器"
echo "4)配置 index.php 并启动 LAMP 服务"
echo -e "\033[31mUsage: { /bin/sh $0
1|2|3|4|help}\033[0m"
exit
fi
######################################
#Install httpd web server
if [[ "$1" -eq "1" ]];then
wget -c $H_URL/$H_FILES && tar -jxvf $H_FILES && cd
$H_FILES_DIR &&./configure --prefix=$H_PREFIX
if [ $? -eq 0 ];then
make && make install
echo -e "\n\033[32m---------------------------------
-------------\033[0m"
echo -e "\033[32mThe $H_FILES_DIR Server Install
Success !\033[0m"
else
echo -e "\033[32mThe $H_FILES_DIR Make or Make
install ERROR,Please Check......"
exit 0
fi
fi
#Install Mysql DB server
if [[ "$1" -eq "2" ]];then
wget -c $M_URL/$M_FILES && tar -xzvf $M_FILES &&
cd $M_FILES_DIR &&yum install cmake -y ;cmake .
DCMAKE_INSTALL_PREFIX=$M_PREFIX \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0
make && make install
/bin/cp support-files/my-small.cnf /etc/my.conf
/bin/cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
if [ $? -eq 0 ];then
make && make install
echo -e "\n\033[32m-----------------------
-----------------------\033[0m"
echo -e "\033[32mThe $M_FILES_DIR Server
Install Success !\033[0m"
else
echo -e "\033[32mThe $M_FILES_DIR Make or
Make install ERROR,Please Check......"
exit 0
fi
fi
#Install PHP server
if [[ "$1" -eq "3" ]];then
wget -c $P_URL/$P_FILES && tar -jxvf $P_FILES &&
cd $P_FILES_DIR &&./configure --prefix=$P_PREFIX --with
config-file-path=$P_PREFIX/etc --with-mysql=$M_PREFIX -
with-apxs2=$H_PREFIX/bin/apxs
if [ $? -eq 0 ];then
make ZEND_EXTRA_LIBS='-liconv' && make
install
echo -e "\n\033[32m-----------------------
-----------------------\033[0m"
echo -e "\033[32mThe $P_FILES_DIR Server
Install Success !\033[0m"
else
echo -e "\033[32mThe $P_FILES_DIR Make or
Make install ERROR,Please Check......"
exit 0
fi
fi
####################################
if [[ "$1" -eq "4" ]];then
sed -i '/DirectoryIndex/s/index.html/index.php
index.html/g' $H_PREFIX/conf/httpd.conf
$H_PREFIX/bin/apachectl restart
echo "AddType application/x-httpd
php .php" >>$H_PREFIX/conf/httpd.conf
IP=`ifconfig eth1|grep "Bcast"|awk '{print $2}'|cut -d:
-f2`
echo "You can access http://$IP/"
cat >$H_PREFIX/htdocs/index.php <<EOF
<?php
phpinfo();
?>
EOF
Fi
二、要向mysql中创建总部网站管理员sdadmin具有smartdog_db数据库的全部操作权限,分公司管理员suad01具有对smartdog_db的select、update、insert权限
insert into mysql.user(Host,User,Password) values("localhost","sdadmin",password("123456"));
insert into mysql.user(Host,User,Password) values("localhost","suad01",password("123456"));
create database smartdog_db;
use smartdog_db;
grant all on smartdog_db.* to sdadmin@"" identified by '123456';
grant select,insert,update on smartdog_db.* to suad01@"suone.smartdog.com" identified by '123456' ;
flush privileges;
三、
打开Apache24\conf中的httpd.conf文件,取消相关注释
找到释放的文件(conf/extra/httpd-vhosts.conf),进行虚拟主机配置
/opt/susite/site1
suone.smartdog.com
www.smartdog.com
/opt/adsite
重启Apache即可