install

http://jingyan.baidu.com/article/19020a0ad09f35529d2842bf.html //vm10安裝
http://60808.org/thread-17859-1-1.html //vm安裝centos
http://www.helloswift.com.cn/swiftbase/2014/0608/3096.html //vm安裝MAC OS X 10.9
http://lspgyy.blog.51cto.com/5264172/1275146 //克隆後網絡不能上
http://www.linuxidc.com/Linux/2015-10/123845.htm //CentOS 6.5 生產環境編譯安裝LNMP
http://www.yimiju.com/articles/601.html //mysql5.7.9安裝
http://blog.csdn.net/freshlover/article/details/9839867 //不從新編譯PHP文件的狀況下php GD庫擴展庫的編譯安裝(centos)
http://blog.csdn.net/zqtsx/article/details/9113261
http://www.linuxidc.com/Linux/2013-06/86188.htm
http://blog.chinaunix.net/uid-22312037-id-4089710.html //Nginx深刻詳解之日誌
http://kongzi68.blog.51cto.com/1432619/1629390 //cmake 錯誤解決
安裝擴展
http://219.233.26.155/nchc.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
http://219.233.26.155/nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
Libmcrypt(libmcrypt-2.5.8.tar.gz):http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91774&release_id=487459
http://m.oschina.net/blog/497350 //多版本php
http://www.ahlinux.com/php/14887.html //xdebug
http://www.we3ew.com/?p=1263 //fastcgi
http://www.lxway.com/99854061.htm //HttpRequest中常見的四種ContentType
https://www.zybuluo.com/phper/note/89081 //php-fpm的優化
1、環境準備
配置防火牆,開啓80、3306端口
vim /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #容許80端口經過防火牆
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #容許3306端口經過防火牆
特別提示:若是這兩條規則添加到防火牆配置的最後一行,致使防火牆啓動失敗,正確的應該是添加到默認的22端口 。
/etc/init.d/iptables restart #最後重啓防火牆使配置生效
四、關閉SELinux
vi /etc/selinux/configurations
#SELINUX=enforcing #註釋掉
#SELINUXTYPE=targeted #註釋掉
SELINUX=disabled #增長
:wq! #保存退出
setenforce 0 #使配置當即生效php


2、系統約定
硬盤分區:50G(/boot 200M /swap 8192M /)+100G(/mnt/soft/)
軟件源代碼包存放位置:/mnt/soft/local/src
源碼包編譯安裝位置:/mnt/soft/local/軟件名
數據庫數據文件存儲路徑/mnt/soft/local/mysql/data/html


3、軟件包下載
一、下載nginx(目前穩定版):http://nginx.org/download/nginx-1.9.9.tar.gz
二、下載pcre (支持nginx僞靜態):ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz
三、下載MySQL:http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.9.tar.gz
四、下載php:http://cn2.php.net/distributions/php-5.6.17.tar.gz
五、下載cmake(MySQL編譯工具):http://www.cmake.org/files/v3.4/cmake-3.4.1.tar.gz
六、下載libmcrypt(PHPlibmcrypt模塊):http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
七、下載GD庫安裝包(php頁面圖片驗證碼支持):https://github.com/libgd/libgd/releases/download/gd-2.1.0/libgd-2.1.0.tar.gz
將以上軟件包上傳到/mnt/soft/local/src/目錄mysql


4、安裝編譯工具及庫文件
使用CentOS yum命令一鍵安裝
yum install -y make apr* autoconf automake curl curl-devel gcc gcc-c++ gtk-devel zlib-devel openssl openssl-devel \
pcre-devel gd kernel keyutils patch perl kernel-headers compat* cpp glibc libgomp libstdc++-devel keyutils-libs-devel \
libsepol-devel libselinux-devel krb5-devel libXpm* freetype freetype-devel freetype* fontconfig fontconfig-devel libjpeg* \
libpng* php-common php-gd gettext gettext-devel ncurses* libtool* libxml2 libxml2-devel patch policycoreutils bisonlinux


5、軟件安裝篇
一、安裝cmake
cd /mnt/soft/local/src
tar zxvf cmake-3.4.1.tar.gz
cd cmake-3.4.1
./configure --prefix=/usr/local/cmake
make #編譯
make install #安裝
vim /etc/profile 在path路徑中增長cmake執行文件路徑
export PATH=$PATH:/usr/local/cmake/bin
source /etc/profile使配置當即生效
二、安裝pcre
cd /mnt/soft/local/src
mkdir /usr/local/pcre #建立安裝目錄
tar zxvf pcre2-10.20.tar.gz
cd pcre2-10.20
./configure --prefix=/usr/local/pcre #配置
make && make install
三、安裝libmcrypt
cd /mnt/soft/local/src
tar zxvf libmcrypt-2.5.8.tar.gz #解壓
cd libmcrypt-2.5.8 #進入目錄
./configure #配置
make #編譯
make install #安裝
四、安裝gd庫
cd /mnt/soft/local/src
tar zxvf gd-2.0.36RC1.tar.gz
cd gd-2.0.36RC1
./configure --enable-m4_pattern_allow —prefix=/mnt/soft/local/gd --with-jpeg=/usr/lib --with-png=/usr/lib --with-xpm=/usr/lib --with-freetype=/usr/lib --with-fontconfig=/usr/lib #配置
make #編譯
make install #安裝
5.安裝mysql
新增mysql用戶組
# groupadd mysql
新增mysql用戶
# useradd -r -g mysql mysql
新建數據庫執行文件目錄(後面會把編譯好的mysql程序安裝到這個目錄)
# mkdir -p /usr/local/mysql
新建文件目錄
# mkdir -p /home/mysql
#
# mkdir -p /home/mysql/logs
# mkdir -p /home/mysql/temp
注意:上面的第3及第4是爲了之後將MySQL的數據文件與執行程序文件分離,若是你打算設置到不一樣的路徑,注意修改對應的執行命令和數據庫初始化腳本!
編輯PATH搜索路徑
# vi /etc/profile +
# 在profile文件末尾增長兩行
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
使PATH搜索路徑當即生效:
# source /etc/profilenginx

tar -zxvf mysql-5.7.9.tar.gz
cd mysql-5.7.9laravel

檢查是否找獲得boost類庫,沒有就安裝
#################boost類庫####################
//5.7須要boost類庫,可以使用 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory> 參數將在指定路徑查找,如未找到會指定下載並解壓到指定的路徑
http://219.233.31.120/ncu.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
tar zxvf boost_1_59_0
###############################################c++

須要注意CentOS 6.4版操做系統的最小安裝完成後,即便沒有安裝mysql,在/etc目錄下也會存在一個my.cnf文件,建議將此文件改名爲其餘的名字,不然該文件會干擾源碼安裝的MySQL的正確配置,形成沒法啓動。修改/etc/my.cnf操做以下:
# mv /etc/my.cnf /etc/my.cnf.bak
# 固然也能夠刪除掉/etc/my.cnf這個文件:
# rm /etc/my.cnfgit


使用cmake源碼安裝mysql(若是你打算安裝到不一樣的路徑,注意修改下面語句中/usr/local/mysql這個路徑!)
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/home/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_BOOST=/mnt/soft/local/src/boost_1_59_0github

 

上面的這些複製完,回車,而後就開始cmake的過程,通常時間不會很長。
cmake結束後開始編譯源碼,這一步時間會較長,請耐心等待。
# make
安裝編譯好的程序
# make install
注意:若是須要重裝mysql,在/usr/local/src/mysql-5.7.9在執行下make install就能夠了,不須要再cmake和make
清除安裝臨時文件
# make clean
修改目錄擁有者
# chown -Rf mysql:mysql /usr/local/mysql
# chown -Rf mysql:mysql /home/mysql
進入mysql執行程序的安裝路徑
# cd /usr/local/mysql
執行初始化配置腳本,建立系統自帶的數據庫和表(注意路徑/home/mysql/data須要換成你自定定義的數據庫存放路徑)
# bin/mysqld --initialize --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data
A temporary password is generated for root@localhost: Q7tlTDeoWu>&
#初始化腳本在/usr/local/mysql/support-files下生成了配置文件my.cnf,須要更改該配置文件的全部者:web


# chown -Rf mysql:mysql /usr/local/mysql
注意:
(1)Tips:在啓動MySQL服務時,會按照必定次序搜索my.cnf,先在/etc目錄下找,找不到則會搜索mysql程序目錄下是否有my.cnf";
(2)須要注意CentOS 6.4版操做系統的最小安裝完成後,即便沒有安裝mysql,在/etc目錄下也會存在一個my.cnf文件,建議將此文件改名爲其餘的名字,不然該文件會干擾源碼安裝的MySQL的正確配置,形成沒法啓動。修改/etc/my.cnf操做以下:
# mv /etc/my.cnf /etc/my.cnf.bak
# 固然也能夠刪除掉/etc/my.cnf這個文件:
# rm /etc/my.cnf
(3)若是你須要用於生產環境,不要急着作下面的mysql啓動操做。建議把上一步驟中mysql初始化生成的/usr/local/mysql/mysql.cnf刪除,而後把你優化好的mysql配置文件my.cnf放到/etc下。(這是我作mysql主從複製和mysql優化的經驗!)
複製服務啓動腳本
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
啓動MySQL服務
# service mysql start
設置開機自動啓動服務
# chkconfig mysql on

ps aux |grep mysq* //查看mysql進程


檢測下上一步MySQL用戶root密碼是否生效:
[root@yimiju etc]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)——沒有密碼沒法登陸,說明密碼修改爲功了。

###若是不行 就mysqld_safe --user=mysql --skip-grant-tables --skip-networking & mysql -u root mysql

[root@yimiju ~]# mysql -u root -p
Enter password: ——這裏提示時輸入你設置的mysql root賬號密碼
#登陸成功有以下提示:
Welcome to the MySQL monitor. Commands end with ; or \g.......

方式1
bin/mysqladmin -u root -p password 設置密碼


方式2登陸並修改MySQL用戶root的密碼
# mysql -u root
mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
mysql> update user set Password = password('123456') where User='root';
mysql> flush privileges;
mysql> exit;


***常見錯誤

1.pid錯誤 關閉進程

ps aux | grep mysq* //查看mysql進程
kill -9 進程id

2.ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
rm -rf /var/lock/subsys/mysql //刪除便可


(可選)運行安全設置腳本,強烈建議生產服務器使用:
[root@yimiju ~]# /usr/local/mysql/bin/mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
You already have a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] n ---------------這裏輸入n
... skipping.
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y ---------------這裏輸入Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n ---------------這裏輸入n
... skipping.
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y ---------------這裏輸入Y
- Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
... Failed! Not critical, keep moving...
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y ---------------這裏輸入Y
... Success!
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
Cleaning up...
重啓服務器,檢測mysql是否能開機自動啓動
[root@yimiju ~]# reboot

6.安裝nginx

cd /usr/local/src
groupadd www #添加www組
useradd -g www www -s /bin/false #建立nginx運行帳戶www並加入到www組,不容許www用戶直接登陸系統
tar zxvf nginx-1.4.4.tar.gz
cd nginx-1.4.4
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-openssl=/usr/ --with-pcre=/mnt/soft/local/src/pcre-8.37
注意:--with-pcre=/mnt/soft/local/src/pcre2-10.20指向的是源碼包解壓的路徑,而不是安裝的路徑,不然會報錯
make
make install
/usr/local/nginx/sbin/nginx #啓動nginx
設置nginx開啓啓動
vi /etc/rc.d/init.d/nginx #編輯啓動文件添加下面內容
=======================================================
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/usr/local/nginx/logs/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "nginx already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid
}
reload() {
echo -n $"Reloading $prog: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL
=======================================================
:wq! #保存退出
chmod 775 /etc/rc.d/init.d/nginx #賦予文件執行權限
chkconfig nginx on #設置開機啓動
/etc/rc.d/init.d/nginx restart #從新啓動Nginx
service nginx restart
=======================================================


七、安裝php
cd /usr/local/src
tar -zvxf php-5.5.7.tar.gz
cd php-5.5.7.
./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-usrimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --with-jpeg-dir --with-freetype-dir

make #編譯
make install #安裝
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 #添加軟連接
cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf #拷貝模板文件爲php-fpm配置文件
vi /usr/local/php5/etc/php-fpm.conf #編輯
user = www #設置php-fpm運行帳號爲www
group = www #設置php-fpm運行組爲www
pid = run/php-fpm.pid #取消前面的分號
設置 php-fpm開機啓動
cp /usr/local/src/php-5.5.7/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷貝php-fpm到啓動目錄
chmod +x /etc/rc.d/init.d/php-fpm #添加執行權限
chkconfig php-fpm on #設置開機啓動
vi /usr/local/php5/etc/php.ini #編輯配置文件
找到: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版本的信息
找到:short_open_tag = Off
修改成:short_open_tag = ON #支持php短標籤

#php配置進入環境變量
vi /etc/profile 在path路徑中增長php執行文件路徑
export PATH=$PATH:/usr/local/php5/bin
source /etc/profile使配置當即生效

http://www.cnblogs.com/codebean/archive/2011/05/30/php-cli-argv.html //PHP命令行模式的相關參數詳解

5、配置nginx支持php
vi /usr/local/nginx/conf/nginx.conf
修改/usr/local/nginx/conf/nginx.conf 配置文件,需作以下修改
user www www; #首行user去掉註釋,修改Nginx運行組爲www www;必須與/usr/local/php/etc/php-fpm.conf中的user,group配置相同,不然php運行出錯
user www www;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
root /data1/www ;
index index.html index.php;
#charset koi8-r;

#access_log logs/host.access.log main;

#location / {
# root html;
# index index.html index.htm;
#}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
}
/etc/init.d/nginx restart #重啓nginx

6、測試篇
cd /usr/local/nginx/html/ #進入nginx默認網站根目錄
rm -rf /usr/local/nginx/html/* #刪除默認測試頁
vi index.php #新建index.php文件
phpinfo();
?>
:wq! #保存退出
chown www.www /usr/local/nginx/html/ -R #設置目錄全部者
chmod 700 /usr/local/nginx/html/ -R #設置目錄權限

7、其它說明
服務器相關操做命令
service nginx restart #重啓nginx
service mysqld restart #重啓mysql
/usr/local/php/sbin/php-fpm #啓動php-fpm
/etc/rc.d/init.d/php-fpm restart #重啓php-fpm
/etc/rc.d/init.d/php-fpm stop #中止php-fpm
/etc/rc.d/init.d/php-fpm start #啓動php-fpm
nginx默認站點目錄是:/usr/local/nginx/html/
權限設置:chown www.www /usr/local/nginx/html/ -R
MySQL數據庫目錄是:/usr/local/mysql/var
權限設置:chown mysql.mysql -R /usr/local/mysql/var

8、安全優化
sherwin@rocnic~$ssh root@172.16.134.141
root@172.16.134.141's password:
Last login: Sat Jan 18 12:11:57 2014 from 172.16.134.1
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
[root@dev01 ~]# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=


九。不從新編譯PHP文件的狀況下php GD庫擴展庫的編譯安裝(centos)
####################(注意若是服務器沒有libjpeg等 就去)#################
安裝 zlib
wget ftp://ftp.sunfreeware.com/pub/freeware/SOURCES/zlib-1.2.3.tar.gz
tar -zxf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/usr/local/zlib
make
make install

安裝 jpeg
wget ftp://ftp.sunfreeware.com/pub/freeware/SOURCES/jpeg.tar.gz
安裝前先建立jpeg安裝文件所需(以下)目錄,防止提示相似「沒法建立通常文件‘/usr/local/jpeg/***’: 沒有那個文件或目錄" 的錯誤
mkdir /usr/local/jpeg
mkdir /usr/local/jpeg/bin
mkdir /usr/local/jpeg/lib
mkdir /usr/local/jpeg/include
mkdir /usr/local/jpeg/man
mkdir /usr/local/jpeg/man1
mkdir /usr/local/jpeg/man/man1
tar -zxf jpeg.tar.gz
cd jpeg-6b
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
make
make install

安裝完成提示:
Libraries have been installed in:
/usr/local/jpeg6/lib

安裝 libpng

wget ftp://ftp.sunfreeware.com/pub/freeware/SOURCES/libpng-1.2.16.tar.gz
tar -zxf libpng-1.2.16.tar.gz
cd libpng-1.2.16
./configure --prefix=/usr/local/libpng
make
make install

安裝 freetype
wget http://download.savannah.nongnu.org/releases/freetype/freetype-2.3.4.tar.gz
tar -zxf freetype-2.3.4.tar.gz
cd freetype-2.3.4
mkdir -p /usr/local/freetype
./configure --prefix=/usr/local/freetype
make
make install

gd目錄
tar -zxf gd-2.0.33.tar.gz
cd gd-2.0.33
mkdir -p /usr/local/gd2
./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg/ --with-png=/usr/local/libpng/ --with-zlib=/usr/local/zlib/ --with-freetype=/usr/local/freetype/
make
make install

注意:
./configure --with-php-config=[php安裝目錄]/bin/php-config --with-jpeg=[jpeg-6b安裝目錄] --with-png=[libpng安裝目錄] --with-freetype=[freetype安裝目錄] --with-zlib=[zlib安裝目錄] --with-gd=[gd安裝目錄]
(若是出現未知配置項--with-png**,--with-freetype之類的錯誤 在配置項後面加上-dir參數便可:既修編譯參數爲: ./configure --with-php-config=[php安裝目錄]/bin/php-config --with-jpeg-dir=[jpeg安裝目錄] --with-png-dir=[libpng安裝目錄] --with-freetype-dir=[freetype安裝目錄] --with-zlib=[zlib安裝目錄] --with-gd=[gd安裝目錄] 便可
########################################################################
如下系統已經有libjpeg 以前yum已經安裝過,就執行如下命令了

tar -zxf gd-2.0.33.tar.gz
cd gd-2.0.33
mkdir -p /usr/local/gd2
./configure --prefix=/usr/local/gd2 --with-jpeg --with-png --with-zlib --with-freetype
make
make install

進入「[php解壓目錄]/ext/gd」目錄,執行以下命令:
cd /mnt/soft/local/src/php-5.6.17/ext/gd
[php安裝目錄]/bin/phpize
/usr/local/php5/bin/phpize
./configure --with-php-config=/usr/local/php5/bin/php-config --with-gd=/usr/local/gd2 --with-png-dir
make
# make成功執行後,生成的擴展庫文件在當前目錄的 modules 子目錄下
cp modules/gd.so /usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/

# 在php.ini的添加擴展庫位置,設置要添加的擴展庫。
vi /usr/local/php5/etc/php.ini
extension=gd.so

重啓php-fpm 重啓nginx 大功告成!!!!

 

###############################
http://blog.csdn.net/21aspnet/article/details/8203447
mcrypt 擴展庫用下面命令

#tar -zxvf mcrypt-2.6.8.tar.gz

#cd mcrypt-2.6.8

#LD_LIBRARY_PATH=/usr/local/lib ./configure

#make

#make install
################################

 

十。安裝redis

1.檢查安裝依賴程序

yum install gcc-c++
yum install -y tcl

wget http://download.redis.io/releases/redis-2.8.13.tar.gz
tar -xzvf redis-2.8.19.tar.gz
mv redis-2.8.19 /usr/local/redis

cd /usr/local/redis

make
make install

mkdir -p /etc/redis
cp redis.conf /etc/redis/

vi /etc/redis/redis.conf
僅修改: daemonize yes (no-->yes)

/usr/local/bin/redis-server /etc/redis/redis.conf //啓動

ps -ef | grep redis

redis-cli //使用客戶端

redis-cli shutdown //關閉


2.安裝PHPredis擴展
wget https://github.com/nicolasff/phpredis/archive/master.zip
unzip master.zip
cd phpredis-master
phpize
./configure --with-php-config=/usr/local/php5/bin/php-config
make
make install
vim /etc/php.ini
extension=redis.so

十一。安裝xdebug

wget http://www.xdebug.org/files/xdebug-2.4.0rc3.tgz
cd xdebug-2.4.0rc3
/usr/local/php/bin/phpize
./configure --enable-xdebug --with-php-config=/usr/local/php/bin/php-config
make && make install

vi php.ini

加入 : zend_extension=xdebug.so

重啓php nginx。

http://www.51testing.com/html/18/170218-3545467.html //配置
http://www.cnblogs.com/dreamhome/p/3218744.html //詳解

[xdebug]
xdebug.idekey=PHPSTORM
xdebug.remote_connect_back = 1
xdebug.remote_host=192.168.31.238
xdebug.remote_enable=on
xdebug.remote_port = 9060
xdebug.remote_handler = dbgp
xdebug.auto_trace = 0
xdebug.collect_includes = 1
xdebug.collect_params = 1
xdebug.collect_return = 1
xdebug.default_enable = 1
xdebug.collect_assignments = 1
xdebug.collect_vars = 1
xdebug.remote_autostart = 1
xdebug.show_local_vars = 1
xdebug.show_exception_trace = 0


***注意最好把xdebug.auto_trace = 0; 關閉 。若是開啓後可能會引起一些小問題,原來的PHP環境會出現連接被重置,把這關閉便可!

十二。linux下php添加pdo_mysql擴展
http://www.edbiji.com/doccenter/showdoc/78/nav/1002.html
進去到php的源碼包的ext中
cd /usr/local/src/php-5.2.17/ext/pdo_mysql
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
make && make install
extension=pdo_mysql.so

十三。安裝git

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
wget https://www.kernel.org/pub/software/scm/git/git-2.3.0.tar.gz
tar -zxvf git-2.3.0.tar.gz
cd git-2.3.0
make prefix=/usr/local/git all
make prefix=/usr/local/git install

#配置進入環境變量
vi /etc/profile
export PATH=$PATH:/usr/local/git/bin
source /etc/profile使配置當即生效


十四。 BItnami Gitlab
http://devtian.me/2015/03/05/gitlab-cooperation-tool-1/
http://comedsh.iteye.com/blog/2238200
http://blog.csdn.net/uniquechao/article/details/41250459

下載
wget https://downloads.bitnami.com/files/stacks/gitlab/7.6.2-0/bitnami-gitlab-7.6.2-0-linux-installer.run

chmod +x xxx.run
安裝
./xxx.run

----------------------------------------------------------------------------
Welcome to the Bitnami Gitlab Stack Setup Wizard.

----------------------------------------------------------------------------
Select the components you want to install; clear the components you do not want
to install. Click Next when you are ready to continue.

GitLab : Y (Cannot be edited)

GitLab CI [Y/n] :Y

Is the selection above correct? [Y/n]: Y

----------------------------------------------------------------------------
Installation folder

Please, choose a folder to install Bitnami Gitlab Stack

Select a folder [/opt/gitlab-7.4.3-0]:


----------------------------------------------------------------------------
Create Admin account

Bitnami Gitlab Stack admin user creation

Email Address [xschao@xxx.com]:

Login [xschao]:

Password :xxxxxxxxxxx
Please confirm your password :
----------------------------------------------------------------------------
Hostname that will be used to create internal URLs. If this value is incorrect,
you may be unable to access your Gitlab installation from other computers. It is
advisable to use a Domain instead of an IP address for compatibility with
different browsers.

Domain [127.0.0.1]: 這裏最好寫外網ip或者域名:如192.168.31.176

Do you want to configure mail support? [y/N]: y

----------------------------------------------------------------------------
Configure SMTP Settings

This is required so your application can send notifications via email.

Default email provider:

[1] GMail
[2] Custom
Please choose an option [1] : 1

----------------------------------------------------------------------------
Configure SMTP Settings

This data is stored in the application configuration files and may be visible to
others. For this reason, it is recommended that you do not use your personal
account credentials.

GMail address []: xschao.test@gmail.com

GMail password :
Re-enter :
----------------------------------------------------------------------------
Setup is now ready to begin installing Bitnami Gitlab Stack on your computer.

Do you want to continue? [Y/n]: Y

----------------------------------------------------------------------------
Please wait while Setup installs Bitnami Gitlab Stack on your computer.

Installing
0% ______________ 50% ______________ 100%



安裝完成後用提示的域名進入gitlab 如:http://127.0.0.1:84/



查看gitlab相關命令

cd /opt/gitlab-xxx/
./ctlscript.sh

usage: ./ctlscript.sh help
./ctlscript.sh (start|stop|restart|status)
./ctlscript.sh (start|stop|restart|status) mysql
./ctlscript.sh (start|stop|restart|status) apache
./ctlscript.sh (start|stop|restart|status) redis
./ctlscript.sh (start|stop|restart|status) gitlab_sidekiq
./ctlscript.sh (start|stop|restart|status) gitlabci_sidekiq
./ctlscript.sh (start|stop|restart|status) gitlabci_runner

help - this screen
start - start the service(s)
stop - stop the service(s)
restart - restart or start the service(s)
status - show the status of the service(s)


如:./ctlscript.sh restart gitlab_sidekiq //重啓gitlab


####修改服務器IP地址
假如在安裝gitlab的過程當中,你所有是按照默認選項安裝的,當咱們建立一個project的時候,生成的倉庫地址是這樣的:git@127.0.0.1:username/test.git,這顯示是不正確的,由於這個地址是本機地址,而開發人員作git clone操做時,是在本身的電腦上完成的,那麼怎麼解決這個問題呢?仍是要看 gitlab.yml 這個配置文件。
vi /opt/gitlab-7.6.2-0/apps/gitlab/htdocs/config/gitlab.yml

把host: 127.0.0.1
改爲host: 192.168.32.166

/opt/gitlab-7.6.2-0/ctlscript.sh restart gitlab_sidekiq //重啓gitlab服務
/opt/gitlab-7.6.2-0/ctlscript.sh restart apache //重啓apache服務


十五。安裝confluence
http://lschao.blog.51cto.com/7814743/1409970


十六。安裝seaslog
https://github.com/Neeke/SeasLog#%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%BF%E7%94%A8seaslog

wget https://pecl.php.net/get/SeasLog-1.5.0.tgz
tar zxvf SeasLog-1.5.0.tgz
cd SeasLog-1.5.0
phpize
./configure --with-php-config=/usr/local/php5/bin/php-config
make && make install

vi /etc/php.ini
extension = seaslog.so
seaslog.default_basepath = /log/seaslog-test ;默認log根目錄
seaslog.default_logger = default ;默認logger目錄
seaslog.disting_type = 1 ;是否以type分文件 1是 0否(默認)
seaslog.disting_by_hour = 1 ;是否每小時劃分一個文件 1是 0否(默認)
seaslog.use_buffer = 1 ;是否啓用buffer 1是 0否(默認)
seaslog.buffer_size = 100 ;buffer中緩衝數量 默認0(不使用buffer_size)
seaslog.level = 0 ;記錄日誌級別 默認0(全部日誌)
seaslog.trace_error = 1 ;自動記錄錯誤 默認1(開啓)
seaslog.trace_exception = 0 ;自動記錄異常信息 默認0(關閉)


十七。安裝Composer
http://www.phpcomposer.com/

curl -sS https://getcomposer.org/installer | php
cp composer.phar /usr/local/bin/composer

#composer config repo.packagist composer http://packagist.phpcomposer.com //該國內鏡像

修改當前項目的 composer.json 配置文件,如加入monolog依賴庫
{
"require": {
"monolog/monolog": "1.5.*"
}
}

執行安裝命令
# composer install //須要關閉xdebug

composer selfupdate //保持composer最新


###若是碰到he Process class relies on proc_open, which is not available on your PHP installation. 錯誤

配置php.ini文件 讓其支持 proc_open、proc_get_status函數

http://www.jianshu.com/p/072e09734ffc //laravel介紹

相關文章
相關標籤/搜索