国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

php+mysql(5.1)+apache+centos 編譯安裝

avwu / 2958人閱讀

摘要:,就是這樣子,按照的軟件版本和配置重新編譯安裝套件環(huán)境。一般的類庫,例如,,,,等都通過來安裝,因?yàn)槲恢枚冀y(tǒng)一,所以安裝和使用起來都方便。

領(lǐng)導(dǎo)要求先保證php環(huán)境穩(wěn)定,然后再去考慮其他,例如性能,安全等等,所以先參考yum的php+mysql+apache的配置來建造。so,就是這樣子,按照yum的軟件版本和配置重新編譯安裝php套件環(huán)境。

列一下整個(gè)過程的大綱:

</>復(fù)制代碼

  1. 安裝的軟件的版本和配置和模塊確認(rèn)和下載

  2. 檢查版本、配置、模塊

  3. 下載

  4. 安裝apache

  5. configure

  6. make

  7. make install

  8. 啟動

  9. 檢查

  10. 安裝mysql

  11. configure

  12. make

  13. make install

  14. 初始化數(shù)據(jù)庫

  15. 啟動

  16. 檢查

  17. 安裝php

  18. configure

  19. make

  20. make install

  21. 配置

  22. 啟動

  23. 檢查


1. 安裝的軟件的版本和配置和模塊確認(rèn)和下載 查看配置參數(shù)和模塊:

mysql:
查看版本

</>復(fù)制代碼

  1. rpm -qa |grep mysql

  2. mysql-server-5.1.73-3.el6_5.x86_64
  3. mysql-5.1.73-3.el6_5.x86_64
  4. mod_auth_mysql-3.0.0-11.el6_0.1.x86_64
  5. apr-util-mysql-1.3.9-3.el6_0.1.x86_64
  6. mysql-devel-5.1.73-3.el6_5.x86_64
  7. mysql-libs-5.1.73-3.el6_5.x86_64

查看配置

</>復(fù)制代碼

  1. cat /usr/lib64/mysql/mysqlbug |grep configure

  2. CONFIGURE_LINE="./configure "--build=x86_64-redhat-linux-gnu" "--host=x86_64-redhat-linux-gnu" "--target=x86_64-redhat-linux-gnu" "--program-prefix=" "--prefix=/usr" "--exec-prefix=/usr" "--bindir=/usr/bin" "--sbindir=/usr/sbin" "--sysconfdir=/etc" "--datadir=/usr/share" "--includedir=/usr/include" "--libdir=/usr/lib64" "--libexecdir=/usr/libexec" "--localstatedir=/var" "--sharedstatedir=/var/lib" "--mandir=/usr/share/man" "--infodir=/usr/share/info" "--with-readline" "--with-ssl=/usr" "--without-debug" "--enable-shared" "--with-embedded-server" "--localstatedir=/var/lib/mysql" "--with-unix-socket-path=/var/lib/mysql/mysql.sock" "--with-mysqld-user=mysql" "--with-extra-charsets=all" "--with-big-tables" "--with-pic" "--with-plugin-innobase" "--with-plugin-innodb_plugin" "--with-plugin-partition" "--enable-local-infile" "--enable-largefile" "--enable-thread-safe-client" "--disable-dependency-tracking" "build_alias=x86_64-redhat-linux-gnu" "host_alias=x86_64-redhat-linux-gnu" "target_alias=x86_64-redhat-linux-gnu" "CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC" "CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC -felide-constructors -fno-rtti -fno-exceptions""

apache :
版本查看:

</>復(fù)制代碼

  1. rpm -qa |grep httpd

  2. httpd-tools-2.2.15-31.el6.centos.x86_64
  3. httpd-manual-2.2.15-31.el6.centos.noarch
  4. httpd-2.2.15-31.el6.centos.x86_64
  5. httpd-devel-2.2.15-31.el6.centos.x86_64

無法完整的查看配置

</>復(fù)制代碼

  1. /usr/sbin/httpd -l

  2. Compiled in modules:
  3. core.c
  4. prefork.c
  5. http_core.c
  6. mod_so.c
  7. /usr/sbin/httpd -V
  8. Server version: Apache/2.2.15 (Unix)
  9. Server built: Jul 23 2014 14:17:29
  10. Server"s Module Magic Number: 20051115:25
  11. Server loaded: APR 1.3.9, APR-Util 1.3.9
  12. Compiled using: APR 1.3.9, APR-Util 1.3.9
  13. Architecture: 64-bit
  14. Server MPM: Prefork
  15. threaded: no
  16. forked: yes (variable process count)
  17. Server compiled with....
  18. -D APACHE_MPM_DIR="server/mpm/prefork"
  19. -D APR_HAS_SENDFILE
  20. -D APR_HAS_MMAP
  21. -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
  22. -D APR_USE_SYSVSEM_SERIALIZE
  23. -D APR_USE_PTHREAD_SERIALIZE
  24. -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
  25. -D APR_HAS_OTHER_CHILD
  26. -D AP_HAVE_RELIABLE_PIPED_LOGS
  27. -D DYNAMIC_MODULE_LIMIT=128
  28. -D HTTPD_ROOT="/etc/httpd"
  29. -D SUEXEC_BIN="/usr/sbin/suexec"
  30. -D DEFAULT_PIDLOG="run/httpd.pid"
  31. -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
  32. -D DEFAULT_LOCKFILE="logs/accept.lock"
  33. -D DEFAULT_ERRORLOG="logs/error_log"
  34. -D AP_TYPES_CONFIG_FILE="conf/mime.types"
  35. -D SERVER_CONFIG_FILE="conf/httpd.conf"

</>復(fù)制代碼

  1. cat /etc/httpd/modules/mod_

  2. mod_actions.so mod_authn_dbm.so mod_authz_owner.so mod_dav.so mod_ext_filter.so mod_log_forensic.so mod_proxy_ftp.so mod_status.so
  3. mod_alias.so mod_authn_default.so mod_authz_user.so mod_dbd.so mod_filter.so mod_logio.so mod_proxy_http.so mod_substitute.so
  4. mod_asis.so mod_authn_file.so mod_autoindex.so mod_deflate.so mod_headers.so mod_mime_magic.so mod_proxy_scgi.so mod_suexec.so
  5. mod_auth_basic.so mod_authnz_ldap.so mod_cache.so mod_dir.so mod_ident.so mod_mime.so mod_proxy.so mod_unique_id.so
  6. mod_auth_digest.so mod_authz_dbm.so mod_cern_meta.so mod_disk_cache.so mod_include.so mod_negotiation.so mod_reqtimeout.so mod_userdir.so
  7. mod_authn_alias.so mod_authz_default.so mod_cgid.so mod_dumpio.so mod_info.so mod_proxy_ajp.so mod_rewrite.so mod_usertrack.so
  8. mod_authn_anon.so mod_authz_groupfile.so mod_cgi.so mod_env.so mod_ldap.so mod_proxy_balancer.so mod_setenvif.so mod_version.so
  9. mod_authn_dbd.so mod_authz_host.so mod_dav_fs.so mod_expires.so mod_log_config.so mod_proxy_connect.so mod_speling.so mod_vhost_alias.so

</>復(fù)制代碼

  1. cat /etc/httpd/conf/httpd.conf |less

  2. LoadModule auth_basic_module modules/mod_auth_basic.so
  3. LoadModule auth_digest_module modules/mod_auth_digest.so
  4. LoadModule authn_file_module modules/mod_authn_file.so
  5. LoadModule authn_alias_module modules/mod_authn_alias.so
  6. LoadModule authn_anon_module modules/mod_authn_anon.so
  7. LoadModule authn_dbm_module modules/mod_authn_dbm.so
  8. LoadModule authn_default_module modules/mod_authn_default.so
  9. LoadModule authz_host_module modules/mod_authz_host.so
  10. LoadModule authz_user_module modules/mod_authz_user.so
  11. LoadModule authz_owner_module modules/mod_authz_owner.so
  12. LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
  13. LoadModule authz_dbm_module modules/mod_authz_dbm.so
  14. LoadModule authz_default_module modules/mod_authz_default.so
  15. LoadModule ldap_module modules/mod_ldap.so
  16. LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
  17. LoadModule include_module modules/mod_include.so
  18. LoadModule log_config_module modules/mod_log_config.so
  19. LoadModule logio_module modules/mod_logio.so
  20. LoadModule env_module modules/mod_env.so
  21. LoadModule ext_filter_module modules/mod_ext_filter.so
  22. LoadModule mime_magic_module modules/mod_mime_magic.so
  23. LoadModule expires_module modules/mod_expires.so
  24. LoadModule deflate_module modules/mod_deflate.so
  25. LoadModule headers_module modules/mod_headers.so
  26. LoadModule usertrack_module modules/mod_usertrack.so
  27. LoadModule setenvif_module modules/mod_setenvif.so
  28. LoadModule mime_module modules/mod_mime.so
  29. LoadModule dav_module modules/mod_dav.so
  30. LoadModule status_module modules/mod_status.so
  31. LoadModule autoindex_module modules/mod_autoindex.so
  32. LoadModule info_module modules/mod_info.so
  33. LoadModule dav_fs_module modules/mod_dav_fs.so
  34. LoadModule vhost_alias_module modules/mod_vhost_alias.so
  35. LoadModule negotiation_module modules/mod_negotiation.so
  36. LoadModule dir_module modules/mod_dir.so
  37. LoadModule actions_module modules/mod_actions.so
  38. LoadModule speling_module modules/mod_speling.so
  39. LoadModule userdir_module modules/mod_userdir.so
  40. LoadModule alias_module modules/mod_alias.so
  41. LoadModule substitute_module modules/mod_substitute.so
  42. LoadModule rewrite_module modules/mod_rewrite.so
  43. LoadModule proxy_module modules/mod_proxy.so
  44. LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
  45. LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
  46. LoadModule proxy_http_module modules/mod_proxy_http.so
  47. LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
  48. LoadModule proxy_connect_module modules/mod_proxy_connect.so
  49. LoadModule cache_module modules/mod_cache.so
  50. LoadModule suexec_module modules/mod_suexec.so
  51. LoadModule disk_cache_module modules/mod_disk_cache.so
  52. LoadModule cgi_module modules/mod_cgi.so
  53. LoadModule version_module modules/mod_version.so

只知道它使用了動態(tài)編譯模塊,模塊的數(shù)量不少,使用的mpm是prefork模式,其他都看不出來了。

php:

</>復(fù)制代碼

  1. /usr/bin/php -i |grep configure

  2. PHP Warning: Directive "register_globals" is deprecated in PHP 5.3 and greater in Unknown on line 0
  3. Configure Command => "./configure" "--build=x86_64-redhat-linux-gnu" "--host=x86_64-redhat-linux-gnu" "--target=x86_64-redhat-linux-gnu" "--program-prefix=" "--prefix=/usr" "--exec-prefix=/usr" "--bindir=/usr/bin" "--sbindir=/usr/sbin" "--sysconfdir=/etc" "--datadir=/usr/share" "--includedir=/usr/include" "--libdir=/usr/lib64" "--libexecdir=/usr/libexec" "--localstatedir=/var" "--sharedstatedir=/var/lib" "--mandir=/usr/share/man" "--infodir=/usr/share/info" "--cache-file=../config.cache" "--with-libdir=lib64" "--with-config-file-path=/etc" "--with-config-file-scan-dir=/etc/php.d" "--disable-debug" "--with-pic" "--disable-rpath" "--without-pear" "--with-bz2" "--with-exec-dir=/usr/bin" "--with-freetype-dir=/usr" "--with-png-dir=/usr" "--with-xpm-dir=/usr" "--enable-gd-native-ttf" "--without-gdbm" "--with-gettext" "--with-gmp" "--with-iconv" "--with-jpeg-dir=/usr" "--with-openssl" "--with-pcre-regex=/usr" "--with-zlib" "--with-layout=GNU" "--enable-exif" "--enable-ftp" "--enable-magic-quotes" "--enable-sockets" "--enable-sysvsem" "--enable-sysvshm" "--enable-sysvmsg" "--with-kerberos" "--enable-ucd-snmp-hack" "--enable-shmop" "--enable-calendar" "--without-sqlite" "--with-libxml-dir=/usr" "--enable-xml" "--with-system-tzdata" "--enable-force-cgi-redirect" "--enable-pcntl" "--with-imap=shared" "--with-imap-ssl" "--enable-mbstring=shared" "--enable-mbregex" "--with-gd=shared" "--enable-bcmath=shared" "--enable-dba=shared" "--with-db4=/usr" "--with-xmlrpc=shared" "--with-ldap=shared" "--with-ldap-sasl" "--with-mysql=shared,/usr" "--with-mysqli=shared,/usr/lib64/mysql/mysql_config" "--enable-dom=shared" "--with-pgsql=shared" "--enable-wddx=shared" "--with-snmp=shared,/usr" "--enable-soap=shared" "--with-xsl=shared,/usr" "--enable-xmlreader=shared" "--enable-xmlwriter=shared" "--with-curl=shared,/usr" "--enable-fastcgi" "--enable-pdo=shared" "--with-pdo-odbc=shared,unixODBC,/usr" "--with-pdo-mysql=shared,/usr/lib64/mysql/mysql_config" "--with-pdo-pgsql=shared,/usr" "--with-pdo-sqlite=shared,/usr" "--with-sqlite3=shared,/usr" "--enable-json=shared" "--enable-zip=shared" "--without-readline" "--with-libedit" "--with-pspell=shared" "--enable-phar=shared" "--with-tidy=shared,/usr" "--enable-sysvmsg=shared" "--enable-sysvshm=shared" "--enable-sysvsem=shared" "--enable-posix=shared" "--with-unixODBC=shared,/usr" "--enable-fileinfo=shared" "--enable-intl=shared" "--with-icu-dir=/usr" "--with-enchant=shared,/usr" "--with-recode=shared,/usr"


2. 安裝的軟件的版本和配置和模塊確認(rèn)和下載:

(可以通過rpm -qa mysql或者yum install mysql 類似這樣查看軟件的版本)

centos 版本:6.5 x64 官網(wǎng)下載或者163源下載

</>復(fù)制代碼

  1. 中國centos網(wǎng)
    http://www.centoscn.com/plus/download.php?open=2&id=2196&uhash=1dacefcfd3a0ece94e06c929

</>復(fù)制代碼

  1. 官網(wǎng)
    http://isoredirect.centos.org/centos/6.5/isos/

</>復(fù)制代碼

  1. chinaunix
    http://download.chinaunix.net/download/0013000/12271.shtml

</>復(fù)制代碼

  1. 163
    http://mirrors.163.com/centos/6.5/isos/

apache 版本:2.2.27

</>復(fù)制代碼

  1. http://httpd.apache.org/download.cgi#apache22

mysql 版本:5.1.733

</>復(fù)制代碼

  1. 去官網(wǎng)下載的話需要注冊一個(gè)賬號然后選擇源碼的下載
    http://dev.mysql.com/downloads/file.php?id=453362

php版本:5.3.28

</>復(fù)制代碼

  1. http://cn2.php.net/get/php-5.3.28.tar.gz/from/a/mirror

安裝相關(guān)的庫,開發(fā)工具,編譯軟件,調(diào)用的模塊和軟件

</>復(fù)制代碼

  1. yum -y install gcc
  2. yum -y install make
  3. yum -y install gcc-c++
  4. yum -y install apr
  5. yum -y install pcre*
  6. yum -y install apr-util*
  7. yum -y install libtool
  8. yum -y install openssl
  9. yum -y install openssl-devel
  10. (因?yàn)樾呐K漏洞的關(guān)系centosopenssl要升級到1.0.1e-16以上)
  11. #####檢查:
  12. #####[root@localhost app]# rpm -q --changelog openssl-1.0.1e | grep CVE-2014-0160
  13. #####- fix CVE-2014-0160 - information disclosure in TLS heartbeat extension
  14. #####代表已修復(fù)
  15. yum -y install enchant-devel
  16. yum -y install libjpeg* libpng* gmp*
  17. yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc perl-DBD-MySQL unixODBC-devel
  18. yum -y install libXpm*
  19. yum -y install libicu*
  20. yum -y install aspell-devel
  21. yum -y install libedit-dev*
  22. yum -y install recode-dev*
  23. yum -y install net-snmp-devel
  24. yum -y install libtidy-dev*
  25. yum -y install libxml2

開始安裝

安裝順序是有講究的,因?yàn)閜hp需要調(diào)用apache 和mysql的配置,所以需要先安裝apache和mysql,而后者的他們不需要固定的安裝順序。
編譯安裝一般是3個(gè)順序,configure,make,make install

1.安裝apache

進(jìn)入apache的源碼包解壓目錄,運(yùn)行以下命令:
首先是配置編譯參數(shù)---configure

</>復(fù)制代碼

  1. ./configure

  2. --with-mpm=prefork
  3. --enable-so
  4. --enable-mods-shared=most
  5. --prefix=/app/apache2227
  6. --with-apr-util=/usr/bin/apu-1-config

備注:

</>復(fù)制代碼

  1. 1. 使用--enable-mods-shared=most是跟--enable-so搭配使用的,most是指將大部分常用的模塊編譯成動態(tài)模塊,動態(tài)模塊就是需要load加載的模塊,好處是
  2. 加載和卸載方便,壞處就是效率上沒有靜態(tài)編譯快,在小規(guī)模使用上一般差距不大,所以我使用動態(tài)編譯模塊。
  3. 2. --with-apr-util是翻譯過來APR(Apache portable Run-time libraries,Apache可移植運(yùn)行庫),主要為上層的應(yīng)用程序提供一個(gè)可以跨越多操作系統(tǒng)平臺使用的底層支持接口庫。具體參考百度百科或者wiki
  4. 3. --with-mpm=prefork則只使用prefork模塊,Possible MPMs are beos, mpmt_os2, prefork, and worker.一般prefork常用且好用。

然后是進(jìn)行編譯---make

</>復(fù)制代碼

  1. make -j4

最后是進(jìn)行安裝---install

</>復(fù)制代碼

  1. make install

引用參考:
1. http://httpd.apache.org/docs/2.2/install.html
2. http://httpd.apache.org/docs/2.2/programs/configure.html
3. http://apr.apache.org/

啟動apache

</>復(fù)制代碼

  1. /app/apache2227/bin/apachctl start

檢查

</>復(fù)制代碼

  1. ps -ef |grep httpd

  2. netstat -atnp|grep 80

(一般會使用80,根據(jù)配置文件的listen端口而定)
訪問一個(gè)apache的網(wǎng)頁文件,可以將一個(gè)普通的html文件放進(jìn)去htdoc的目錄來訪問,也可以直接訪問看到apache的官方頁面


2.安裝mysql

進(jìn)入mysql的源碼包解壓目錄,將以下命令放在一個(gè)可執(zhí)行的shell文件里面(因?yàn)槊钸^長的關(guān)系,寫到shell文件里會好很多),
具體步驟是

</>復(fù)制代碼

  1. 1.vi test.sh

  2. 2.粘貼進(jìn)去
  3. 3.保存退出:wq
  4. 4.檢查文件內(nèi)容是否正確
  5. 5.授予可執(zhí)行權(quán)限chmod +x test.sh
  6. 6. sh test.sh執(zhí)行(可以sh -x test.sh執(zhí)行來觀察執(zhí)行過程)
  7. 7.make -j4
  8. 8.make install

粘貼到shell文件的編譯參數(shù)如下:

</>復(fù)制代碼

  1. CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC " CXXFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC -felide-constructors -fno-rtti -fno-exceptions"

  2. ./configure
  3. --disable-dependency-tracking
  4. --prefix=/app/mysql51733
  5. --sysconfdir=/app/mysql51733
  6. --datadir=/app/mysql51733/data
  7. --libdir=/usr/lib64
  8. --with-readline
  9. --without-debug
  10. --enable-shared
  11. --with-embedded-server
  12. --with-unix-socket-path=/var/lib/mysql/mysql.sock
  13. --with-mysqld-user=mysql
  14. --with-extra-charsets=all
  15. --with-big-tables
  16. --with-pic
  17. --with-plugins=partition,innobase,innodb_plugin
  18. --enable-local-infile
  19. --enable-largefile
  20. --enable-thread-safe-client
  21. --with-client-ldflags=-all-static
  22. --with-mysqld-ldflags=-all-static

備注:

</>復(fù)制代碼

  1. 1. -sysconfdir是my.cnf的路徑
  2. 2. -without-debug取消debug模式,有效提供效率
  3. 3. -with-extra-charsets=all安裝所有字符集
  4. 4. -enable-local-infile允許本地導(dǎo)入數(shù)據(jù),例如
  5. 5. -libdir是指生成的mysql的相關(guān)庫文件的目錄
  6. 6. -enable-local-infile:啟用對LOAD DATA LOCAL INFILE語法的支持,即用sql可以導(dǎo)入本地文件到數(shù)據(jù)庫
  7. 7. -with-readline是一個(gè)行編輯庫,這個(gè)是跟shell的readline參數(shù)是一樣的,mysql也是這樣使用
  8. 8. -with-unix-socket-path指定socket的位置和名字
  9. 9. -with-big-tables支持超過4G以上的大表
  10. 10. --enable-assembler:使用匯編模式;(文檔說明:compiling in x86 (and sparc) versions of common string operations, which should result in more performance. 匯編x86的普通操作符,可以提高性能)
  11. 11. --with-pic Try to use only PIC/non-PIC objectsPIC是跟gcc 內(nèi)核和硬件有關(guān)的,具體百度,這里是both的作用,所以加也無妨。
  12. 12. --with-plugins=partition,innobase,innodb_plugin支持不同的引擎,例如innobase
  13. 13. --enable-thread-safe-client很有名的參數(shù),讓mysqlclient支持線程的意思
  14. 14. --with-mysqld-ldflags=-all-static 靜態(tài)編譯MySQL服務(wù)器端;(據(jù)說靜態(tài)鏈接提高13%性能,嘛,靜態(tài)編譯的速度總是會快一點(diǎn)的)
  15. 15. --with-client-ldflags=-all-static 靜態(tài)編譯MySQL客戶端;(據(jù)說靜態(tài)鏈接提高13%性能)

引用參考:

</>復(fù)制代碼

  1. 1. http://dev.mysql.com/doc/refman/5.1/en/source-configuration-options.html
  2. 2. https://linuxtoy.org/archives/readline.html
  3. 3. http://docs.linuxtone.org/ebooks/Optimze/Interrupt%20in%20Linux.pdf

troubleshooting

編譯MySQL的過程中提示:
>/bin/rm: cannot remove `libtoolt": No such file or directory

解決:
網(wǎng)上說并且官方也有提到用這個(gè)方法,但是不行

</>復(fù)制代碼

  1. 1. 確認(rèn)libtool是否已經(jīng)安裝,如果沒有安裝的話,則先安裝libtool
  2. yum -y install libtool
  3. 2. 分別執(zhí)行以下三條命令:
  4. autoreconf --force --install
  5. libtoolize --automake --force
  6. automake --force --add-missing
  7. 再重新編譯安裝,問題解決!

我用這個(gè)方法的:
這時(shí)直接打開 configure,把 $RM “$cfgfile” 那行刪除掉,重新再運(yùn)行 ./configure 就可以了。


配置configure完成后進(jìn)行make的時(shí)候會出現(xiàn)一個(gè)問題,提示無法找到mysqlclient的庫

需要

</>復(fù)制代碼

  1. cp -r /usr/lib64/mysql /app/mysql51733/lib64

原因是因?yàn)榫幾g安裝mysql的時(shí)候自定義安裝目錄后卻沒有修改他的lib64庫的使用路徑,理論上會用相對路徑,跟隨安裝安裝目錄一起變化,但是5.1的mysql沒有這樣做,用的是的絕對路徑/usr/lib64/mysql,所以需要手動復(fù)制到指定的目錄

至此完成mysql安裝

安裝完成后需要初始化數(shù)據(jù)庫,但5.1會出現(xiàn)這個(gè)問題,這是一個(gè)已知的在mysql5.1的bug

</>復(fù)制代碼

  1. /app/mysql51733/bin/mysql_install_db --user=mysql --basedir=/app/mysql51733/ --datadir=/app/mysql51733/data
  2. FATAL ERROR: Could not find errmsg.sys
  3. The following directories were searched:
  4. /app/mysql51733//share/english
  5. /app/mysql51733//share/mysql/english
  6. If you compiled from source, you need to run "make install" to
  7. copy the software into the correct location ready for operation.
  8. If you are using a binary release, you must either be at the top
  9. level of the extracted archive, or pass the --basedir option
  10. pointing to that location.

需要

</>復(fù)制代碼

  1. cp /app/mysql51733/data/mysql/english/errmsg.sys /app/mysql51733/share/english/

  2. cp /app/mysql51733/data/mysql/*.sql /app/mysql51733/share/

引用參考:
1. http://bugs.mysql.com/bug.php?id=38828


復(fù)制源碼包的配置文件

cp support-files/的my-small.cnf, my-medium.cnf, my-large.cnf, and my-huge.cnf 復(fù)制為指定目錄的my.cnf,分別對應(yīng)不同使用等級的mysql配置,不過實(shí)際上還是針對生產(chǎn)環(huán)境做修改的
需要注意的是:

my.cnf里面需要配置datadir位置,不然的話會造成mysql啟動失敗,因?yàn)閙ysql.server啟動腳本如果檢查到?jīng)]有datadir值就會只用默認(rèn)值來啟動,而一般編譯我們都沒有默認(rèn)目錄的。

目前這個(gè)安裝是我建議復(fù)制到/app/mysql51733/my.cnf這里

引用參考:
1. http://dev.mysql.com/doc/refman/5.6/en/option-files.html


復(fù)制源碼包的啟動腳本到系統(tǒng)守護(hù)程序管理目錄,可以方便啟動關(guān)閉和做自動啟動

</>復(fù)制代碼

  1. cp support-files/mysql.server /etc/init.d/mysql

  2. chmod +x /etc/init.d/mysql
  3. service mysql start
  4. Starting MySQL [確定]

例如開機(jī)自動啟動

</>復(fù)制代碼

  1. chkconfig --add mysql

  2. 有的系統(tǒng)需要下面的,表示3,4,5等級的啟動都要開啟,3代表命令行界面,5代表圖形界面
  3. chkconfig --level 345 mysql on

檢查是否成功啟動
ps -ef |grep mysql

</>復(fù)制代碼

  1. root 7167 1658 0 06:03 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql

  2. mysql 7405 7167 0 06:03 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/data/testyuan.err --pid-file=/data/mysql/data/testyuan.pid --socket=/tmp/mysql/mysql.sock --port=3306

netstat -atnp|grep 3306

/app/mysql51733/bin/mysql -uroot -p

</>復(fù)制代碼

  1. Enter password:

  2. Welcome to the MySQL monitor. Commands end with ; or g.
  3. Your MySQL connection id is 2
  4. Server version: 5.6.4-m7 Source distribution

</>復(fù)制代碼

  1. Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

</>復(fù)制代碼

  1. Oracle is a registered trademark of Oracle Corporation and/or its

  2. affiliates. Other names may be trademarks of their respective
  3. owners.

</>復(fù)制代碼

  1. Type "help;" or "h" for help. Type "c" to clear the current input statement.

</>復(fù)制代碼

  1. mysql>


php安裝

進(jìn)入php源碼目錄,運(yùn)行以下命令,(因?yàn)樘L的關(guān)系,所以最好將其寫進(jìn)一個(gè)shell文件,然后執(zhí)行這個(gè)shell腳本)

</>復(fù)制代碼

  1. ./configure --libdir=/app/php5328/lib64 --with-libdir=lib64

  2. --prefix=/app/php5328
  3. --includedir=/app/php5328/include
  4. --with-apxs2=/app/apache2227/bin/apxs
  5. --sysconfdir=/app/php5328
  6. --with-config-file-path=/app/php5328
  7. --with-config-file-scan-dir=/app/php5328/php.d
  8. --disable-debug
  9. --with-pic
  10. --disable-rpath
  11. --without-pear
  12. --with-bz2
  13. --with-freetype-dir=/usr
  14. --with-png-dir=/usr
  15. --with-xpm-dir=/usr
  16. --enable-gd-native-ttf
  17. --without-gdbm
  18. --with-gettext
  19. --with-gmp
  20. --with-iconv
  21. --with-jpeg-dir=/usr
  22. --with-openssl
  23. --with-pcre-regex=/usr
  24. --with-zlib
  25. --with-layout=GNU
  26. --enable-exif
  27. --enable-ftp
  28. --enable-magic-quotes
  29. --enable-sockets
  30. --enable-sysvsem
  31. --enable-sysvshm
  32. --enable-sysvmsg
  33. --enable-ucd-snmp-hack
  34. --enable-shmop
  35. --enable-calendar
  36. --without-sqlite
  37. --with-libxml-dir=/usr
  38. --enable-xml
  39. --enable-pcntl
  40. --enable-mbstring=shared
  41. --enable-mbregex
  42. --with-gd=shared
  43. --enable-bcmath=shared
  44. --enable-dba=shared
  45. --with-db4=/usr
  46. --with-xmlrpc=shared
  47. --with-ldap=shared
  48. --with-ldap-sasl
  49. --with-mysql=/app/mysql51733
  50. --with-mysqli=shared,/app/mysql51733/bin/mysql_config
  51. --enable-dom=shared
  52. --with-pgsql=shared
  53. --enable-wddx=shared
  54. --with-snmp=shared,/usr
  55. --enable-soap=shared
  56. --with-xsl=shared,/usr
  57. --enable-xmlreader=shared
  58. --enable-xmlwriter=shared
  59. --with-curl=shared,/usr
  60. --enable-pdo=shared
  61. --with-pdo-odbc=shared,unixODBC,/usr
  62. --with-pdo-mysql=shared,/app/mysql51733/bin/mysql_config
  63. --with-pdo-pgsql=shared,/usr
  64. --with-pdo-sqlite=shared,/usr
  65. --with-sqlite3=shared,/usr
  66. --enable-json=shared
  67. --enable-zip=shared
  68. --without-readline
  69. --with-libedit
  70. --with-pspell=shared
  71. --enable-phar=shared
  72. --with-tidy=shared,/usr
  73. --enable-sysvmsg=shared
  74. --enable-sysvshm=shared
  75. --enable-sysvsem=shared
  76. --enable-posix=shared
  77. --with-unixODBC=shared,/usr
  78. --enable-fileinfo=shared
  79. --enable-intl=shared
  80. --with-icu-dir=/usr
  81. --with-enchant=shared,/usr
  82. --with-recode=shared,/usr
  83. --enable-zip

備注:
很多配置,只說重要的,模塊是按需而定。一般的類庫,例如gd,pcre,curl,zlib,iconv等都通過yum來安裝,因?yàn)槲恢枚冀y(tǒng)一,所以安裝和使用起來都方便。

</>復(fù)制代碼

  1. 1.--with-mysql 指定連接的mysql
  2. 2.--with-mysqli mysqli擴(kuò)展技術(shù)不僅可以調(diào)用MySQL的存儲過程、處理MySQL事務(wù),而且還可以使訪問數(shù)據(jù)庫工作變得更加穩(wěn)定。
  3. 3.--with-apxs2 編譯共享的 Apache 2.0 模塊,就是將php以模塊的方式編譯,利用apacheapxs來生成php模塊,給apache調(diào)用
  4. 4.--with-config-file-path 指定php.ini的位置
  5. 5.--with-gd 使用gd庫,gd,jpeg,png,freetype都是跟圖形制圖有關(guān)的,所以需要一起使用,以便達(dá)到好的效果,而這些軟件一般都通過yum安裝,使用默認(rèn)目錄/usr方便處理他們之間的關(guān)聯(lián)和尋找
  6. 6.--with-jpeg-dir 使用jpeg
  7. 7.--with-png-dir 使用png
  8. 8.--with-freetype-dir 使用freetype
  9. 9.--with-pcre-regex perl的正則庫的位置
  10. 10.--with-curl 讓php使用curl,curl是一個(gè)強(qiáng)大的上傳下載工具

一般來說,php編譯會出現(xiàn)較多的問題是缺少需要的庫,你調(diào)用了某個(gè)模塊,但是你系統(tǒng)卻沒有這個(gè)庫,這樣的時(shí)候很多時(shí)候會提示not found之類,通過yum將包都安裝好后就不會有問題了。

</>復(fù)制代碼

  1. make

</>復(fù)制代碼

  1. make install

  2. 安裝完成后可以看到php的安裝目錄有文件,并且php模塊已經(jīng)生成在apachemoudle目錄下面libphp5.so


復(fù)制源碼包里面的phpini模板到php.ini的指定目錄
cp php.ini-production /app/php5328/php.ini (因?yàn)榫幾g的時(shí)候指定了php.ini的位置)

修改部分php.ini配置(按需)
修改時(shí)區(qū)

</>復(fù)制代碼

  1. ;date.timezone =

  2. 改為
  3. date.timezone = Asia/Shanghai

修改使用的模塊
找到; extension_dir = "./"; On windows:; extension_dir = "ext"
添加一行 extension_dir = "/app/php5328/lib64/20090626/" 這里是模塊的位置
然后進(jìn)行模塊加載
如:extension=bcmath.so

配置apache使用php模塊并支持php后綴的文件
編輯httpd.conf
在LoadModule的行附件增加一行

</>復(fù)制代碼

  1. LoadModule php5_module modules/libphp5.so

  2. (如果需要改端口還需要改Listen,如果需要改運(yùn)行用戶還需要改User)

在AddType 行附件添加下面2行

</>復(fù)制代碼

  1. AddType application/x-httpd-php .php .php3

  2. AddType application/x-httpd-php-source .phps
  3. 保存退出

使用vhost配置(方便管理)
vhost配置如下
在httpd.conf下增加監(jiān)聽端口8093,如果不需要的話,可以直接用80,但要加端口的話必須先監(jiān)聽

</>復(fù)制代碼

  1. Listen 8093

然后編輯conf/extra/http-vhosts.conf

</>復(fù)制代碼

  1. 注釋掉

  2. #NameVirtualHost *:80
  3. 添加下面的段落

  4. #ServerAdmin webmaster@dummy-host.example.com
  5. DocumentRoot "/app/apache2227/htdocs/test"
  6. #ServerName dummy-host.example.com
  7. #ServerAlias www.dummy-host.example.com
  8. ErrorLog "logs/8093-error_log"
  9. CustomLog "logs/8093-access_log" common

  10. 保存退出

重啟apache

</>復(fù)制代碼

  1. /app/apache2227/bin/apachectl restart

測試:
將一個(gè)phpinfo.php的頁面放到/app/apache2227/htdocs/test目錄下

訪問http://IP:8093/phpinfo.php 就可以看到效果了。

引用參考:

</>復(fù)制代碼

  1. 1.http://php.net/manual/zh/configure.about.php
  2. 2.http://php.net/manual/zh/faq.installation.php
  3. 3.http://php.net/manual/zh/faq.using.php 關(guān)于 register_globals 對我有什么影響?http://php.net/manual/zh/ini.core.php#ini.register-globals
  4. 4.http://php.net/manual/zh/ini.core.php
  5. 5.http://php.net/manual/zh/ini.php

全程安裝完成。感謝。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/35724.html

相關(guān)文章

  • php+mysql(5.1)+apache+centos 編譯安裝

    摘要:,就是這樣子,按照的軟件版本和配置重新編譯安裝套件環(huán)境。一般的類庫,例如,,,,等都通過來安裝,因?yàn)槲恢枚冀y(tǒng)一,所以安裝和使用起來都方便。 領(lǐng)導(dǎo)要求先保證php環(huán)境穩(wěn)定,然后再去考慮其他,例如性能,安全等等,所以先參考yum的php+mysql+apache的配置來建造。so,就是這樣子,按照yum的軟件版本和配置重新編譯安裝php套件環(huán)境。 列一下整個(gè)過程的大綱: 安裝的...

    twohappy 評論0 收藏0
  • centos7 下安裝laravel 運(yùn)行環(huán)境

    摘要:最近開始學(xué)習(xí),最好的學(xué)習(xí)就是實(shí)踐,學(xué)習(xí)同時(shí)把安裝的環(huán)境搭配,跑了度娘都沒找到我想要的文章。那我就簡單的寫寫我的安裝過程。使用命令查看可安裝的包。 最近開始學(xué)習(xí)linux,最好的學(xué)習(xí)就是實(shí)踐,學(xué)習(xí)linux 同時(shí)把安裝LAMP的環(huán)境搭配,跑了度娘都沒找到我想要的文章。那我就簡單的寫寫我的安裝過程。 網(wǎng)絡(luò)設(shè)置 ping 114.114.114.144 網(wǎng)絡(luò)連接失敗,將虛擬機(jī)的網(wǎng)絡(luò)適配器...

    CNZPH 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<