mysql安装配置
cd/usr/local/src
进入下载目录
wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-x86_64-glibc23.tar.gz
下载mysql二进制包(免安装)
tar xzvf mysql-5.1.73-linux-x86_64-glibc23.tar.gz
解压
mv mysql-5.1.73-linux-x86_64-glibc23 /usr/local/mysql
把解压好的文件移动到/usr/local/mysql下
useradd -s /sbin/nologin -M mysql
创建一个不能登陆且没有家目录的用户mysql
mkdir /data/mysql
创建datadir为自定义目录
chown -R mysql:mysql /data/mysql/
在/data下创建mysql文件夹并改变所属主和所属组为mysql
cp support-files/my-large.cnf /etc/my.cnf
拷贝配置文件 并注释掉一些bin-log相关的内容(#log-bin=mysql-bin、#binlog_format=mixed、#server-id = 1)
cp support-files/mysql.server /etc/init.d/mysqld
拷贝启动脚本
vim /etc/init.d/mysqld
修改启动脚本(basedir=/usr/local/mysql和datadir=/data/mysql)
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
初始化 (两个OK 就OK)
/etc/init.d/mysqld start
启动mysql
StartingMySQL.. SUCCESS!
安装成功
apache安装
/usr/local/src/
下载解压
./configure --prefix=/usr/local/apache2 --with-included-apr --with-pcre --enable-mods-shared=most
(--with-included-apr可移植运行库,这个参数很重要 --with-pcre 正则相关的 --enable-mods-shared=most 模块动态共享)
如果是最小安装的系统,需要提前安装gcc,不然会报错:yum install -y gcc
make && make install
echo $? 查看错误信息
apache的两种工作模式,有很多专业的解读,建议和我一样的新手同学自行搜索了解^^
PHP安装
/usr/local/src/
下载解压 bz2压缩包需要安装bzip2包
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6
apxs 工具是用来帮助我们自动在配置文件中生成一条动态加载模块的配置
--with-config-file-path=/usr/local/php/etc定义php的配置文件在哪里,默认在/usr/local/php/lib下
安装错误1:
configure:error: xml2-config not found. Please check your libxml2 installation.
解决方法:yum install -y libxml2-devel.x86_64
安装错误2:
configure:error: Cannot find OpenSSL's
解决方法:yum install -y openssl-devel.x86_64
安装错误3:
configure:error: Please reinstall the BZip2 distribution
解决方法:yum install -y bzip2-devel.x86_64
安装错误4:
configure:error: jpeglib.h not found.
解决方法:yum install -y libjpeg-turbo-devel.x86_64
安装错误5:
configure:error: png.h not found.
解决方法:yum install -y libpng-devel.x86_64
安装错误6:
configure:error: freetype-config not found.
解决方法:yum install -y freetype-devel.x86_64
安装错误7:
configure:error: mcrypt.h not found. Please reinstall libmcrypt.
解决方法:yum install -y libmcrypt-devel.x86_64(如果yum里没有libmcrypt-devel.x86_64需要安装epel yum源支持)
扩展:epel yum源知识
安装epel yum源
rpm -ivh ‘http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm’
单引号里的源如果失效请自行百度。
或者 yum list |grep epel 搜索查看是否有epel-release.noarch
有的话yum install -y epel-release.noarch 即可
make && makeinstall
echo $? 查看安装错误信息
php配置文件查看(编译参数等一系列参数)
/usr/local/php/bin/php -i |less
配置文件加载查看:
ConfigurationFile (php.ini) Path => /usr/local/php/etc
LoadedConfiguration File => /usr/local/php/etc/php.ini
配置文件加载操作:
cp php.ini-production /usr/local/php/etc/php.ini
php.ini-production 生产环境用的配置文件
php.ini-development 开发环境用的配置文件
/usr/local/php/bin/php -m 查看PHP加载了哪些模块
cat /usr/local/apache2/build/config.nice 查看apache的编译参数
/usr/local/apache2/bin/apachectl -M 查看apache加载了哪些模块
/usr/local/apache2/bin/httpd -M 查看apache加载了哪些模块
cat /usr/local/mysql/bin/mysqlbug | grep configure 查看mysql的编译参数
测试LAMP是否成功
/usr/local/apache2/bin/apachectl -t 检验配置文件是否正确
(selinux要关闭掉)
Syntax OK 即可以启动
/usr/local/apache2/bin/apachectl -t时出现以下问题:
httpd:Could not reliably determine the server's fully qualified domain name, usinglocalhost.localdomain for ServerName
解决方法:vim /usr/local/apache2/conf/httpd.conf 添加ServerName127.0.0.1:80
apache结合php配置
vim /usr/local/apache2/conf/httpd.conf
在AddTypeapplication/x-compress .Z和AddType application/x-gzip.gz .tgz下加上
AddTypeapplication/x-httpd-php .php
/usr/local/apache2/bin/apachectl start 启动httpd
netstat -lnp | grep httpd 测试是否启动httpd
测试是否成功
curl localhost
curl localhost/1.php
php测试页
路径cd/usr/local/apache2/htdocs/
phpinfo();
?>
echo1111;
?>
总结:
前面的一切做的都很顺利,在虚拟机内部测试也都OK,然后回到本机去做页面测试确怎么也打不开,本机的防火墙能关的都关了,都是能互相ping通但是无法打开测试页面。最后发现在linux里不仅需要关闭selinux防火墙。还需要
关闭iptables和firewalld。firlwalld是centos7上的防火墙。关闭以后问题都解决了
selinux关闭:vim /etc/selinux/config 把SELINUX=disabled 需重启。或临时关闭setenforce 0
iptables关闭:service iptables stop或systemctl stop iptables
firewalld关闭:systemctl stop firewalld 必须要关