点击(此处)折叠或打开
-
#!/bin/bash
-
#
-
APP_PKG=(
-
httpd-2.4.37.tar.gz
-
apr-1.6.5.tar.gz
-
apr-util-1.6.1.tar.gz
-
mysql-5.5.32.tar.gz
-
cmake-2.8.8.tar.gz
-
php-5.6.38.tar.gz
-
ComsenzDiscuz-DiscuzX-master.zip
-
)
-
LAMP_TMP=/tmp/lamp
-
PRE_DIR=/usr/local
-
#
-
if [[ $UID -eq 0 ]];then
-
iptables -F
-
chkconfig iptables off
-
yum install apr-devel apr-util-devel pcre pcre-devel \
-
ncurses-devel libxml2 libxml2-devel -y
-
else
-
echo "please use root install"
-
exit
-
fi
-
-
httpd_install ()
-
{
-
cd ${LAMP_TMP}
-
tar -zxf ${APP_PKG[0]}
-
tar -zxf ${APP_PKG[1]}
-
tar -zxf ${APP_PKG[2]}
-
cp -r ${APP_PKG[1]%.tar*} ${LAMP_TMP}/${APP_PKG[0]%.tar*}/srclib/${APP_PKG[1]%-*}
-
cp -r ${APP_PKG[2]%.tar*} ${LAMP_TMP}/${APP_PKG[0]%.tar*}/srclib/${APP_PKG[2]%-*}
-
cd ${APP_PKG[0]%.tar*}
-
./configure --prefix=${PRE_DIR}/apache2 \
-
--with-included-apr \
-
--enable-rewrite --enable-so
-
make
-
make install
-
-
}
-
-
mysql_install ()
-
{
-
cd ${LAMP_TMP}
-
tar -zxf ${APP_PKG[4]}
-
cd ${APP_PKG[4]%.tar*}
-
sleep 2
-
./configure
-
sleep 2
-
gmake
-
sleep 2
-
gmake install
-
groupadd mysql
-
useradd mysql -s /sbin/nologin -M -g mysql
-
cd ${LAMP_TMP}
-
tar -zxf ${APP_PKG[3]}
-
cd ${APP_PKG[3]%.tar*}
-
sleep 2
-
cmake . -DCMAKE_INSTALL_PREFIX=${PRE_DIR}/${APP_PKG[3]%.tar*} \
-
-DMYSQL_DATADIR=${PRE_DIR}/${APP_PKG[3]%.tar*}/data \
-
-DMYSQL_UNIX_ADDR=${PRE_DIR}/${APP_PKG[3]%.tar*}/tmp/mysql.sock \
-
-DDEFAULT_CHARSET=utf8 \
-
-DDEFAULT_COLLATION=utf8_general_ci \
-
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-
-DENABLED_LOCAL_INFILE=ON \
-
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-
-DWITH_FAST_MUTEXES=1 \
-
-DWITH_ZLIB=bundled \
-
-DENABLED_LOCAL_INFILE=1 \
-
-DWITH_READLINE=1 \
-
-DWITH_EMBEDDED_SERVER=1 \
-
-DWITH_DEBUG=0
-
-
sleep 2
-
make
-
sleep 2
-
make install
-
ln -s ${PRE_DIR}/${APP_PKG[3]%.tar*} ${PRE_DIR}/${APP_PKG[3]%-*}
-
cp ${PRE_DIR}/${APP_PKG[3]%-*}/support-files/my-small.cnf /etc/my.cnf
-
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
-
source /etc/profile 2>&1
-
cd ${PRE_DIR}
-
chown -R mysql.mysql ${APP_PKG[3]%-*}/
-
chmod -R 1777 /tmp/
-
cd ${APP_PKG[3]%-*}/scripts/
-
./mysql_install_db --basedir=${PRE_DIR}/${APP_PKG[3]%-*} --datadir=${PRE_DIR}/${APP_PKG[3]%-*}/data/ --user=mysql
-
cp ../support-files/mysql.server /etc/init.d/mysqld
-
chmod +x /etc/init.d/mysqld
-
/etc/init.d/mysqld start
-
chkconfig mysqld on
-
chkconfig --list mysqld
-
mysqladmin -uroot password '123456'
-
mysql -uroot -p123456 -e "drop database test;"
-
mysql -uroot -p123456 -e "delete from mysql.user where user='';"
-
mysql -uroot -p123456 -e "delete from mysql.user where host='hostname';"
-
mysql -uroot -p123456 -e "delete from mysql.user where host='::1';"
-
-
}
-
-
php_install ()
-
{
-
cd ${LAMP_TMP}
-
tar -zxf ${APP_PKG[5]}
-
cd ${APP_PKG[5]%.tar*}
-
./configure --prefix=${PRE_DIR}/php5 \
-
--with-config-file-path=${PRE_DIR}/php/etc \
-
--with-apxs2=${PRE_DIR}/apache2/bin/apxs \
-
--with-mysql=${PRE_DIR}/${APP_PKG[3]%-*}
-
-
make
-
make install
-
sed 's/#ServerName localhost/' -i ${PRE_DIR}/apache2/conf/httpd.conf
-
sed '/\/x-gzip \.gz/a AddType application/x-httpd-php .php' -i /usr/local/apache2/conf/httpd.conf
-
sed '/DirectoryIndex/s/index\.html/index.php &/' -i /usr/local/apache2/conf/httpd.conf
-
cat > ${PRE_DIR}/apache2/htdocs/index.php << EOF
-
<?php
-
phpinfo();
-
?>
-
EOF
-
/usr/local/apache2/bin/apachectl restart
-
}
-
-
dis_install ()
-
{
-
cd ${LAMP_TMP}
-
unzip ${APP_PKG[6]} -d ${PRE_DIR}/apache2/htdocs/
-
cd ${PRE_DIR}/apache2/htdocs/
-
mv `echo ${APP_PKG[6]}|awk -F"-" '{print $2}'`/upload/* .
-
chmod -R 777 data/ uc_server/ config/ uc_client/
-
/usr/local/apache2/bin/apachectl restart
-
mysql -uroot -p123456 -e "create database discuz;"
-
mysql -uroot -p123456 -e "grant all on discuz.* to discuz@'localhost' identified by '123456';"
-
-
}
-
-
case $1 in
-
apache)
-
httpd_install
-
;;
-
mysql)
-
mysql_install
-
;;
-
php)
-
php_install
-
;;
-
discuz)
-
dis_install
-
;;
-
all)
-
httpd_install
-
mysql_install
-
php_install
-
dis_install
-
;;
-
*)
-
echo "usage:apache|mysql|php|discuz|all]"
-
;;
- esac