LAMP

练习:编译安装amp,提供两个基于主机名的虚拟主机

     (1) https, 部署pma

     (2) 部署wordpress

编译安装:

mariadb:

# wget 10.1.0.1:/pub/Sources/7.x86_64/mariadb/mariadb-5.5.46-linux-x86_64.tar.gz
# tar -xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/
# cd /usr/local
# ln -sv mariadb-5.5.46-linux-x86_64 mysql
# cd mysql
# groupadd -r mysql
# useradd -r -g mysql mysql
# id mysql
# chown mysql:root ./*
# mkdir /mydata/data -p
# chown mysql:mysql /mydata/data
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
# vim /etc/profile.d/mysql.sh
    export PATH=/usr/local/mysql/bin:$PATH
# . /etc/profile.d/mysql.sh
# mv /etc/my.cnf{,.bak}
# cp support-files/my-small.cnf /etc/my.cnf
# vim /etc/my.cnf   // 在[mysqld]下追加
    datadir = /mydata/data
    skip_name_resolve = ON
    innodb_file_per_table = ON
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
# service mysqld start
# chkconfig --add mysqld

httpd:

# wget 10.1.0.1:/pub/Sources/sources/httpd/httpd-2.4.10.tar.bz2
# yum groupinstall "Development Tools" "Server Platform Development" -y
# yum install pcre-devel openssl-devel libevent-devel  apr-devel apr-util-devel -y
# tar -xf httpd-2.4.10.tar.bz2
# cd httpd-2.4.10/
# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd \     #\表示该行未结束
--enable-so --enable-ssl --enable-cgi --enable-rewrite --enable-modules=most \
--enable-mpms-shared=all --with-mpm=prefork --with-pcre --with-zlib --with-apr=/usr --with-apr-util=/usr
# make -j 2
# make install
# vim /etc/httpd/httpd.conf
    #<IfModule dir_module>   中修改成
    DirectoryIndex index.html index.php
    
    #<IfModule mime_module>  中追加
    AddType application/x-httpd-php .php
# vim /etc/profile.d/httpd.sh
    export PATH=/usr/local/apache2/bin:$PATH
# . /etc/profile.d/mysql.sh
# apachectl start

安装php5:

# wget 10.1.0.1:/pub/Sources/sources/php/php-5.4.40.tar.bz2 &> /dev/null
# yum install gd-devel freetype-devel libmcrypt-devel libxml2-devel -y
# tar -xf php-5.4.40.tar.bz2
# cd php-5.4.40/
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql  --with-openssl \      #\表示该行未结束
--with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --enable-xml \
--enable-sockets --with-freetype-dir --with-gd --with-libxml-dir=/usr --with-zlib \
--with-jpeg-dir --with-png-dir --with-mcrypt --with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/etc/php.ini --with-config-file-scan-dir=/etc/php.d/
# make -j 2
# make install
# cd /usr/local/php
# cp php.ini-production /etc/php.ini
# mkdir /etc/php.d/
# apachectl restart

安装wordpress

# wget 10.1.0.1:/pub/Sources/sources/http/wordpress-4.3.1-zh_CN.zip
# mv wordpress-4.3.1-zh_CN.zip /usr/local/apache2/htdocs
# cd /usr/local/apache2/htdocs
# unzip wordpress-4.3.1-zh_CN.zip
# mysql
    MariaDB [(none)]> CREATE DATABESE wordpress;
    MariaDB [(none)]> GRANT ALL ON wordpress.* TO 'gm'@'localhost' IDENTIFIED BY 'gm625';
    MariaDB [(none)]> \q
# chmdo 777 wordpress

输入网址:10.1.43.101/wordpress   进行安装

LAMP

LAMP

LAMP

LAMP           

LAMP

LAMP

练习2:脚本实现amp编译安装

#!/bin/bash
#description : 编译安装LAMP
#version 0.1
#author gm
#date 20161012
#


#mariadb:
echo "wget mariadb Package."
wget 10.1.0.1:/pub/Sources/7.x86_64/mariadb/mariadb-5.5.46-linux-x86_64.tar.gz &> /dev/null && echo "wget mariadb Package secuessful."

tar -xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local
ln -sv mariadb-5.5.46-linux-x86_64 mysql

echo "add mysql group and mysql user."
groupadd -r mysql &> /dev/null
useradd -r -g mysql mysql &> /dev/null

echo "change file user:group."
cd mysql
chown mysql:root ./*
mkdir /mydata/data -p
chown mysql:mysql /mydata/data

echo "first bulid mysqldb."
scripts/mysql_install_db --user=mysql --datadir=/mydata/data && echo -e "\033[33mmysql db is secuessful.\033[0m"

echo "change PATH."
cat > /etc/profile.d/mysql.sh << end
export PATH=/usr/local/mysql/bin:$PATH
end
. /etc/profile.d/mysql.sh

echo "Add configure file."
mv /etc/my.cnf{,.bak}
cp support-files/my-small.cnf /etc/my.cnf
sed -i '/\[mysqld\]/a \datadir = /mydata/data\nskip_name_resolve = ON\ninnodb_file_per_table = ON' /etc/my.cnf

echo "Add server file."
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
service mysqld start &> /dev/null && echo -e "\033[32mmariadb server is start.\033[0m"


#httpd:
echo "wget httpd Package."
wget 10.1.0.1:/pub/Sources/sources/httpd/httpd-2.4.10.tar.bz2 &> /dev/null && echo "wget httpd Package secuessful."
yum groupinstall "Development Tools" "Server Platform Development" -y -q
yum install pcre-devel openssl-devel libevent-devel  apr-devel apr-util-devel -y -q

tar -xf httpd-2.4.10.tar.bz2
cd httpd-2.4.10/

echo "configure httpd.............." 
./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --enable-so --enable-ssl \     #\表示该行未结束
--enable-cgi --enable-rewrite --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork \
--with-pcre --with-zlib --with-apr=/usr --with-apr-util=/usr &> /dev/null
make -j 2  &> /dev/null
make install &> /dev/null

echo "change PATH."
cat > /etc/profile.d/httpd.sh << end
export PATH=/usr/local/apache2/bin:$PATH
end
. /etc/profile.d/mysql.sh

echo "change /etc/httpd/httpd.conf file."
echo "ServerName www.gm.com:80" >> /etc/httpd/httpd.conf
sed -i 's@^[[:space:]]*DirectoryIndex.*@& index.php@' /etc/httpd/httpd.conf
sed -i '/^[[:space:]]*AddType/a \AddType application/x-httpd-php .php' /etc/httpd/httpd.conf
apachectl start && echo -e "\033[33mhttpd is start.\033[0m"


#安装php5:
echo "wget php Package."
wget 10.1.0.1:/pub/Sources/sources/php/php-5.4.40.tar.bz2 &> /dev/null && echo "wget php Package secuessful."
yum install gd-devel freetype-devel libmcrypt-devel libxml2-devel -y -q
tar -xf php-5.4.40.tar.bz2
cd php-5.4.40/

echo "configure php................."
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql  --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config \    #\表示该行未结束
--enable-mbstring --enable-xml --enable-sockets --with-freetype-dir --with-gd --with-libxml-dir=/usr --with-zlib \
--with-jpeg-dir --with-png-dir --with-mcrypt --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/etc/php.ini \
--with-config-file-scan-dir=/etc/php.d/ &> /dev/null

make -j 2 &> /dev/null
make install &> /dev/null

cp php.ini-production /etc/php.ini
mkdir /etc/php.d/
apachectl restart && echo -e "\033[33mhttpd+php is start.\033[0m"


原创文章,作者:megedugao,如若转载,请注明出处:http://www.178linux.com/50733

(0)
megedugaomegedugao
上一篇 2016-10-12
下一篇 2016-10-12

相关推荐

  • Linux下文件权限管理轻微总结

    Linux下文件权限管理轻微总结       此文对linux下文件的权限及其如何管理权限进行介绍,涉及到读“r”写“w”执行“x”三个权限,特殊权限SUID、SGID、STICKY、ACL、attr的使用。同时对更改文件的指令chmod、getfacl、setfacl、chattr、lsattr等进行说明。  &nb…

    Linux干货 2016-11-07
  • rpm详解

    rpm详解 rpm详解 rpm使用方法 rpm起源 rpm是什么 rpm命名格式 rpm优缺点 rpm获取注意 rpm命令使用 rpm起源  由于在linux中安装应用程序需要源码包编译安装,对于非专业人员而言难度太大,因而出现一种将源码编译好的二进制程序,库文件,配置文件,帮助文件等打包成一个或多个特定格式的程序包,而管理这类包的工具之一,则称为…

    Linux干货 2016-12-23
  • bash脚本作业

    1、每隔3秒钟到系统上获取已经登录的用户的信息;如果发现用户hacker登录,则将登录时间和主机记录于日志/var/log/login.log中,并提示该用户退出系统。 2、随机生成10以内的数字,实现猜字游戏,提示比较大或小,相等则退出。 1、求100以内所有正整数之和 2、通过ping命令探测172.16.250.1-254范围内的所有主机的在线状态,…

    Linux干货 2016-08-19
  • 马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 # who | cut -d' ' -f1 | uniiq 2、取出最后登录到当前系统的用户的相关信息。 # id $(who | …

    Linux干货 2016-07-12
  • iptables实践-week14

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; 规则: # 周一不能访问web服务 ~]# iptables -R INPUT 1 -d 172.16.0.11 -p tcp –dp…

    Linux干货 2017-05-04