本次使用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用戶新密碼。