本次使用php
Centos7.2 MySQL5.7.22 Apache2.4.37 PHP5.6.38
安装httpd和所需依赖:gcc, apr, apr-util,apr-iconv, pcre # 创建目录 cd /;mkdir -p lamp/package cd /lamp/package # # 获取安装包 # 获取apr wget http://mirror.bit.edu.cn/apache/apr/apr-1.6.5.tar.gz # 获取apr wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.6.1.tar.gz # 获取apr-iconv wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-iconv-1.2.2.tar.gz # 获取pcre wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz # 获取httpd (apache) wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.37.tar.gz # 安装全局所需gcc和gcc-c++ yum install gcc yum install gcc-c++ 1、安装apr cd /lamp/package # 解压apr 一、tar zxvf apr-1.6.5.tar.gz # 进入配置 二、cd apr-1.6.5 三、./buildconf # 出现错误: buildconf: checking installation... buildconf: python version 2.7.5 (ok) buildconf: autoconf not found. You need autoconf version 2.59 or newer installed to build APR from SVN. buildconf: libtool not found. You need libtool version 1.4 or newer installed to build APR from SVN. # 安装依赖libtool解决以上错误 yum install libtool # 安装libtool后从新运行./buildconf # 配置 四、./configure --prefix=/usr/local/apr-1.6.5 # 编译安装 五、make && make install 2、安装apr-iconv cd /lamp/package # 解压 一、tar zxvf apr-iconv-1.2.2.tar.gz 二、cd apr-iconv-1.2.2/ # 配置 三、./configure --prefix=/usr/local/apr-iconv-1.2.2 --with-apr=/usr/local/apr-1.6.5/bin # 编译安装 四、make && make install 3、安装apr-util cd /lamp/package # 解压 apr-util 一、tar zxvf apr-util-1.6.1.tar.gz 二、cd apr-util-1.6.1/ # 安装expat-devel不然后面编译会报错 三、yum install expat-devel # 配置【--with后面全是上面的安装路径】 四、./configure --prefix=/usr/local/apr-util-1.6.1 --with-apr=/usr/local/apr-1.6.5/bin --with-apr-iconv=/usr/local/apr-iconv-1.2.2/bin/apriconv # 编译安装 五、make && make install 4、安装pcre cd /lamp/package # 解压 一、tar zxvf pcre-8.39.tar.gz cd pcre-8.39/ # 配置 二、./configure --prefix=/usr/local/pcre-8.39 # 编译安装 三、make && make install 5、安装安装apache(httpd) # 安装并更新locate工具数据库 一、yum -y install mlocate && updatedb # 解压httpd 二、tar zxvf httpd-2.4.37.tar.gz cd httpd-2.4.37 # 配置【必定要加上 enable-so】 三、./configure --prefix=/usr/local/httpd-2.4.37/ --with-apr=/usr/local/apr-1.6.5/bin --with-apr-util=/usr/local/apr-util-1.6.1/bin --with-apr-iconv=/usr/local/apr-iconv-1.2.2/bin/apriconv --with-pcre=/usr/local/pcre-8.39 --enable-so # 如出现报错error: the --with-apr-util parameter is incorrect. It must specify an install prefix, a build direct 需切换到/usr/local/查看前面四个步骤安装的依赖包是否都安装进入了(里面缺乏哪一个包就是哪一个包没安装成功) # 编译安装 四、make && make install # 查看是否安装到位 五、find / -name httpd-2.4.37 # 添加到服务 # 从安装目录bin/下 复制apachectl 到/etc/rc.d/init.d/并命名为httpd 六、cp /usr/local/httpd-2.4.37/bin/apachectl /etc/rc.d/init.d/httpd # 编辑httpd, 加入下面两句 后两个数字表示启动顺序, 不要超100, 下面两句是带# 注释的, chkconfig是能读到的, 这两个必需要加, Description: 这个是描述, 随便写 七、vim /etc/rc.d/init.d/httpd # chkconfig: 2345 80 81 # Description: this is httpd server # 添加到守护进程 八、chkconfig --add httpd # 启动httpd 九、service httpd start # 出现报错 AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0 ... # 解决办法 1.一、cd /usr/local/httpd-2.4.37/conf;vim httpd.conf 1.二、搜索#ServerName,在下面添加一行内容(配置服务地址域名):ServerName localhost:80 1.三、保存,执行service httpd restart重启OK # 测试是否安装成功 十、curl localhost 执行结果:<html><body><h1>It works!</h1></body></html> 6、后续管理 # 新建一个目录 /myconfig/ , 之后将全部配置文件创建软连接到此目录, 统一管理 mkdir /myconfig # 为httpd.conf 建立软链接 ln -s /usr/local/httpd-2.4.37/conf/httpd.conf /myconfig/httpd.conf 【经常使用启动、中止等管理命令】 service httpd start/restart/stop|status
# 1、安装php依赖(在命令后面加--setopt=protected_multilib=false的缘由是出现了相似错误(多库冲突):Protected multilib versions: zlib-1.2.7-17.el7.x86_64 != zlib-1.2.7-15.el7.i686) 一、yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel --setopt=protected_multilib=false # 获取PHP安装包 二、http://php.net/downloads.php # 本次下载的是(php-5.6.38.tar.gz) # 上传并解压PHP 三、tar zxvf php-5.6.38.tar.gz # 配置开启须要开启的扩展好比,pdo, mysql gd 并将php作为apache的模块 --apxs2=指向apache bin下的apxs程序 cd php-5.6.38/ 四、./configure --prefix=/usr/local/php-5.6.38/ --with-apxs2=/usr/local/httpd-2.4.37/bin/apxs --with-mysql --with-pdo-mysql --with-gd # 查看perl位置 五、whereis perl [root@VM_0_13_centos php-5.6.38]# whereis perl perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz # 更新apache的bin/apxs 文件 将第一行改成perl的位置 # 将apxs中的第一行改成上面第5不查找的perl路径(要是内容跟上面查找的路径同样可省略这一步),示例以下: 六、vim /usr/local/httpd-2.4.37/bin/apxs #!/usr/bin/perl -w # 编译安装(确认还php-5.6.38里面) 七、make && make install # 建立php简洁命令 八、vim /etc/profile export php=" /usr/local/php-5.6.38/bin/php" # 最后加上这一行(后面用到$php等同于 /usr/local/php-5.6.38/bin/php) # 生效环境变量 九、source /etc/profile # 查看PHP信息(出现以下内容说明安装成功) 十、$php -m hash iconv json libxml mysql mysqlnd pcre PDO pdo_mysql ... # php与apache的绑定(让apache去解析PHP文件) 编辑apache主配置文件httpd.conf(上面安装Apache建立的myconfig中) 十一、vim /myconfig/httpd.conf Addtype application/x-httpd-php .php .phtml #在底部添加这行内容 # 重启Apache 十二、service httpd restart # 测试是否关联OK # 在站点目录写一个php测试文件 1三、cd /usr/local/httpd-2.4.37/htdocs/ 1四、touch index.php;vim index.php <?php phpinfo();?> # 加入这段内容 1四、访问localhost/index.php 就能够看到php页面了 ### date区出现警告处理, 配置php时区 ### # 拷贝php配置文件 从php源码中复制 php.ini-production(前面本身下载的安装包在哪就去哪cp)到php安装目录的lib目录下更名为php.ini cp /lamp/package/php-5.6.38/php.ini-production /usr/local/php-5.6.38/lib/php.ini # 备份php.ini cp /usr/local/php-5.6.38/lib/php.ini /usr/local/php-5.6.38/lib/php.ini.bak # 建立软链接到前面安装Apache时建立的myconfig方便管理 ln -s /usr/local/php-5.6.38/lib/php.ini /myconfig/php.ini vim /myconfig/php.ini # 搜索date.timezone,在下面添加一行内容 date.timezone=PRC # 重启Apache OK service httpd restart
1、安装依赖 # gcc, gcc-c++, ncurses-devel, cmake(配置的工具mysql配置不用configure,用cmake) 一、yum install cmake ncurses-devel # 安装boost mysql5.7以上依赖boost 二、mkdir /usr/local/boost 三、cd /usr/local/boost/ # 下载 boost 四、wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz # 解压boost 五、tar zxvf boost_1_59_0.tar.gz 2、安装MySQL # 获取MySQL安装包 cd /usr/local/ 六、wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22.tar.gz # 解压MySQL 七、tar zxvf mysql-5.7.22.tar.gz # 配置安装位置与数据库data位置 # mysql 5.7须要指定boost(就是上面的安装路径) -DWITH_BOOST=/usr/local/boost, mysql5.6及如下不须要 cd mysql-5.7.22/ 八、cmake . -DWITH_BOOST=/usr/local/boost -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.22 -DMYSQL_DATADIR=/usr/local/mysql-5.7.22/data # 编译安装 九、make && make install # 可能出现如下错误(内存不足) c++: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <http://bugzilla.redhat.com/bugzilla> for instructions. make[2]: *** [sql/CMakeFiles/sql.dir/item_geofunc.cc.o] Error 4 make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2 make: *** [all] Error 2 # 解决方法就是建立临时交换空间swap: sudo dd if=/dev/zero of=/swapfile bs=64M count=16 sudo mkswap /swapfile sudo swapon /swapfile ## 编译结束以后想要恢复的话能够执行下面的命令: sudo swapoff /swapfile sudo rm /swapfile ## 执行以上命令后从新执行第8个和第9个编译安装步骤 # 漫长等待... # 修改文件权限,添加独立用户仅管理(mysql) # 添加MySQL分组,建立MySQL用户并加入MySQL组 十、groupadd mysql && useradd -g mysql mysql # 修改mysql程序权限, 把组改为mysql,用户也改为mysql # 在/usr/local/目录执行 # 将mysql目录及文件的用户跟组修改成mysql 十一、chown -R mysql:mysql mysql-5.7.22/ 执行前: [root@VM_0_13_centos local]# ls -l | grep mysql drwxr-xr-x 42 7161 31415 4096 Nov 26 12:08 mysql-5.7.22 执行后(如下能够看到用户和组都修改成MySQL了): [root@VM_0_13_centos local]# ls -l | grep mysql drwxr-xr-x 42 mysql mysql 4096 Nov 26 12:08 mysql-5.7.22 # 初始化用户信息前先删除(这里选择改个名留着说不定哪年能用上)/etc/my.cnf 配置文件 十二、mv /etc/my.cnf /etc/my.cnf.bak # 初始化用户信息 # mysql5.6 使用下面的 # /scripts/mysql_install_db --user=mysql # mysql5.7 建议使用的 1三、/usr/local/mysql-5.7.22/bin/mysqld --initialize 初始化结束后, 会随机生成一个root的密码,记住它后续用到:root@localhost: M0%o>gw24zto # 本次生成的随机密码 # 确认是否初始化成功 1四、ls /usr/local/mysql-5.7.22/data #有东西就证实成功了 # 初始化完成后, mysql目录下除了data目录保留mysql用户,把其它目录统统改成root用户 cd /usr/local 1五、chown -R root:root mysql-5.7.22/ && chown -R mysql:mysql mysql-5.7.22/data/ drwxr-x--- 5 mysql mysql 4096 Nov 26 12:42 data drwxr-xr-x 3 root root 4096 Nov 26 11:11 dbug drwxr-xr-x 2 root root 4096 Nov 26 12:08 docs drwxr-xr-x 2 root root 4096 Nov 26 10:36 Docs ... # 配置mysql # 建立配置文件(直接vim不建立也能够) 1六、touch /etc/my.cnf;vim /etc/my.cnf 添加以下内容(根据本身需求可改): [client] port=3306 socket=/tmp/mysql.sock [mysqld] port=3306 socket=/tmp/mysql.sock key_buffer_size=16M max_allowed_packet=8M [mysqldump] quick # 运行mysqld_safe服务 1七、/usr/local/mysql-5.7.22/bin/mysqld_safe --user=mysql & # 查看进程 1八、ps -e | grep mysqld #建立快速访问命令 1九、vim /etc/profile export mysql= /usr/local/mysql-5.7.22/bin/mysql # 添加一个变量(后面使用$mysql等同于 /usr/local/mysql-5.7.22/bin/mysql) source /etc/profile:生效环境变量 # 链接mysql 20、$mysql -uroot -p [root@VM_0_13_centos mysql-5.7.22]# /usr/local/mysql-5.7.22/bin/mysql -uroot -p Enter password: #<-----------------------------------------------------------------------这里输入上面的上面随机生成的root密码(M0%o>gw24zto) Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.22 Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> # 进入MySQL后执行命令修改密码 # mysql5.6 以下: # update mysql.user set password=password('新的密码') where user='root'; # mysql5.7 以下: 2一、alter user 'root'@'localhost' identified by '123456'; # 123456为新的密码 # 刷新权限 5.7不须要 # flush privileges 2二、quit 退出, 就能够用新密码登陆了 # 将其加入守护进程(开机自启) # 复制/mysqld.server 到/etc/rc.d/init.d/ 2三、cp /usr/local/mysql-5.7.22/support-files/mysql.server /etc/rc.d/init.d/mysqld # 修改权限 2四、chmod a+rx /etc/rc.d/init.d/mysqld # 添加到守护进程管理 2五、chkconfig --add mysqld # 查看 2六、chkconfig --list mysqld # 测试用守护进程管理方式,停用跟启用 [root@VM_0_13_centos ~]# service mysqld stop Shutting down MySQL.... SUCCESS! [root@VM_0_13_centos ~]# service mysqld start Starting MySQL. SUCCESS! 3、安装phpmyadmin # 获取安装包 一、wget https://files.phpmyadmin.net/phpMyAdmin/4.8.1/phpMyAdmin-4.8.1-all-languages.zip # 复制到站点根目录 二、cp phpMyAdmin-4.8.1-all-languages.zip /usr/local/httpd-2.4.37/htdocs/ # 进入站点根目录, 解压 三、cd /usr/local/httpd-2.4.37/htdocs/ 四、unzip phpMyAdmin-4.8.1-all-languages.zip # 更名为phpmyadmin 五、mv phpMyAdmin-4.8.1-all-languages phpmyadmin # 访问站点(点登录管理) 六、localhost/phpmyadmin/index.php # OK 登录的用户名是前面建立mysql的root用户 登录密码是root密码上面使用的是123456 4、后续管理 # 为mysql的配置文件建立软链接方便后续管理 # 放入咱们安装httpd(Apache)时在跟目录建立的myconfig文件夹 ln -s /etc/my.cnf /myconfig/mysql.conf
原文地址html
更新yumpython
[root@localhost ~]# yum -y update
[root@localhost ~]# yum -y install httpd*
一、安装完成后,用 /etc/init.d/httpd start 启动apache
二、设置Apache为开机启动:chkconfig httpd on
注:sever默认本机80端口
若是须要修改:mysql
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
#ServerName www.example.com:80
更改成ServerName ip:端口c++
测试是否安装成功:访问本机ip
若是不能访问修改防火墙配置 :web
方式一:添加.容许访问端口80(不少文章都说能够可是个人centos6.5未成功)sql
[root@localhost ~]# vim /etc/sysconfig/iptables # 添加以下内容 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
方式二:关闭防火墙
零时关闭防火墙(重启时失效)数据库
service iptables stop
永久关闭防火墙(能够访问了,注意安全<-_->)apache
chkconfig --level 35 iptables off
可能须要:json
service iptables start # 启动防火墙 service iptables restart # 重启防火墙
[root@localhost ~]# yum install mysql mysql-server mysql-devel
完成后,用 /etc/init.d/mysqld start 启动mysql
一、设置mysql密码
[root@localhost ~]# mysql mysql> use mysql; mysql> UPDATE user SET Password=PASSWORD('newpassword') WHERE user='root'; mysql> FLUSH PRIVILEGES; # 刷新缓存 mysql> exit;
可能出现报错:
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
修改密码(若是须要):
[root@localhost ~]# mysqladmin -uroot -p旧密码 password 新密码
二、设置mysql容许远程登陆
[root@localhost ~]# mysql -uroot -p123456 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES; mysql> exit;
三、设置mysql开机启动
[root@localhost ~]# chkconfig mysqld on
[root@localhost ~]# yum install php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
重启Apache
[root@localhost ~]# /etc/init.d/httpd restart
在 /var/www/html/新建个info.php文件,写入如下内容:
<? phpinfo(); ?>
测试是否安装成功:访问本机ip/info.php
注意:其中 2.3 数据库安全设置时Enter current password for root (enter for none): 直接回车便可,回车后会让输入一个mariadb的root用户新密码。