编译安装LAMP

mariadb-10.2.9-linux-x86_64.tar.gz httpd  php

一.安装mariadb-10.2.9-linux-x86_64.tar.gz


1、#mkdir lamp :创建一个文件夹,存放软件的版本

2、从官网上下载httpd mariaDb  PHP 到该文件夹下

3、# tar xvf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/

# cd /usr/local/

[root@centos7 local]# ln -sv mariadb-5.5.46-linux-x86_64 mysql (创建一个软连接,后期更新版本直接下载一个新的版本放在该目录下,直接把软连接(mysql)对应新的版本。直接升级

#新建MySQL用户,

#useradd -s /sbin/nogin -M mysql

# cd /usr/local/mysql/

[root@centos7 mysql]# chown -R root:mysql ./*(点/*) 更改属主 输组

#新建存放数据的目录

[root@centos7 mysql]# mkdir -pv /data/mysql

[root@centos7 mysql]# chown -R mysql:mysql /data/mysql/

[root@centos7 mysql]# mkdir /etc/mysql

[root@centos7 mysql]# cp support-files/my-large.cnf /etc/mysql/my.cnf

#添加以下配置文件

vim /etc/mysql/my.cnf

在这个位置下面进行添加


datadir = /data/mysql

skip_name_resolve = ON

innodb_file_per_table = ON

[root@centos7 mysql]# cp support-files/mysql.server /etc/init.d/mysqld 拷贝启动脚本到/etc下

[root@centos7 mysql]# ll /etc/init.d/mysqld

-rwxr-xr-x. 1 root root 12196 Nov 8 09:36 /etc/init.d/mysqld

[root@centos7 mysql]# chkconfig –add mysqld (加入开机启动,设置与不设置都无所谓)

[root@centos7 mysql]# mv /etc/my.cnf /etc/my.cnf.bak

必须在当前mysql目录下

[root@centos7 scripts]# ./scripts/mysql_install_db –user=mysql –datadir=/data/mysql/ (对数据初始化)

启动MySQL

# systemctl mysqld start

提示显示正确Starting MySQL.. SUCCESS!

[root@centos7 mysql]# netstat -antlp | grep 3306

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 18586/mysqld



安装httpd

准备工作

安装开发组包

安装PCRE

[root@www httpd-2.4.10]# yum install pcre-devel –y

安装apr-devel apr-util-devel openssl-devel

yum install apr-devel

yum install apr-util-devel

yum install openssl-devel

也可以编译安装apr和apr-util

(1)apr

#./configure –prefix=/usr/locaapr

#make && make install

(2) apr-util

#./configure –prefix=/usr/local/apr-util –with=/usr/local/apr

#make && make install

编译安装Httpd

#cd / lamp

#tar xvf httpd-2.4………..

#cd httpd 2.4

[root@www httpd-2.4.10]# ./configure –prefix=/usr/local/apache(安装路径,sysconf配置文件路径) –enable-so –enable-ssl –enable-rewrite –with-zlib –with-pcre –with-apr=/usr

–with-apr-util=/usr –enable-modules=most –enable-mpms-shared=all –with-mpm=prefork

也可以直接直接输入 ./configure --prefix=/usr/local/apache

(默认是Mod模块化安装也可以使用enable/factcgi的方式 –enable-ssl 后面添加–enable– cgi)

[root@www httpd-2.4.10]# make && make install

启动Httpd 2.4

[root@www apache24]# /usr/local/apache24/bin/apachectl start

[root@www apache24]# netstat -antlp | grep 80

tcp 0 0 :::80 :::* LISTEN 42294/httpd

在配置文件里面添加配置识别PHP (配置文件的尾部进行编译 注:在编译完php再操作)

#vim /usr/local/apache24/conf/httpd.d

AddType application/x-httpd-php .php

DirectoryIndex index.html index.php (添加一个首页)

新建phpinfo页面

#vim /usr/local/apache24/htdocs/test.php

phpinfo();

?>

重启下apache

# /usr/local/apache24/bin/apachectl start


源码安装php7.1.1


安装好了Apache和mariadb,我的lamp系统就差最后一个p—–php了.

安装准备

依赖包的安装: php需要php-mcrypt libmcrypt libmcrypt-devel  autoconf  freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel 这些依赖,还是用yum安装

yum -y install php-mcrypt libmcrypt libmcrypt-devel  autoconf  freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel12

准备php源码包:下载地址http://cn2.php.net/distributions/php-7.1.1.tar.gz 这是其他版本下载地址
使用wget下载

wget http://cn2.php.net/distributions/php-7.1.1.tar.gz12

或者在桌面环境下载好再上传到服务器.
创建php安装目录

mkdir /usr/local/php7112

开始安装

tar -xf php-7.1.1.tar.gz #解压源码包cd php-7.1.1 #进入源码包目录./configure --prefix=/usr/local/php71/ --with-apxs2=/usr/local/apache24/bin/apxs --enable-mbstring --with-curl --with-gd --enable-fpm --enable-mysqlnd  --with-pdo-mysql=mysqlnd --with-config-file-path=/usr/local/php71/etc/ --with-mysqli=mysqlnd #配置编译参数123
  • –prefix 安装目录

  • –with-apxs2 apache文件所在目录

  • –enable-mbstring 支持mbstring

  • –with-curl 支持curl

  • –with-gd 支持gd

  • –enable-fpm 支持fpm

  • –enable-mysqlnd –with-pdo-mysql pdo支持

  • –config-file-path php配置文件搜索目录

    编译安装

make && make install

配置PHP

mkdir /usr/local/php5/etc
cp php.ini-production /usr/local/php5/etc/php.ini  #复制php配置文件到安装目录
rm -rf /etc/php.ini #删除系统自带的配置文件
ln -s  /usr/local/php5/etc/php.ini   /etc/php.ini   #创建配置文件软链接

vi /usr/local/php5/etc/php.ini    #编辑
    #找到:
    ;open_basedir =  
    #修改为:
    open_basedir = .:/tmp/   #防止php***跨站
    #找到:disable_functions =
    修改为:
    disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

    #列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
    #找到:
    ;date.timezone =
    #修改为:
    date.timezone = PRC
    #找到:
    expose_php = On  
    #修改为:
    expose_php = OFF  #禁止显示php版本的信息
    #找到:
    display_errors = On 
    #修改为:
    display_errors = OFF  #关闭错误提示

如图8所示,配置apache的支持PHP

vi /usr/local/apache2/conf/httpd.conf  #编辑apache配置文件 
在LoadModule php5_module        modules/libphp5.so这一行下面添加

AddType application/x-httpd-php .php
service httpd restart    #重启apache
service mysqld restart   #重启mysql

9,测试

cd  /usr/local/apache2/htdocs
vi index.php
     

#确保改目录为以下权限 
chown daemon.daemon -R /usr/local/apache2/htdocs
chmod -R 700 /usr/local/apache2/htdocs 



转:http://www.178linux.com/76011