十九、LAMP環境構築
10590 ワード
LAMPはLinux Apache MySQL PHPの略で、実はApache、MySQLおよびPHPをLinuxシステムにインストールし、phpのスクリプト言語を実行する環境を構成します.phpスクリプト言語とは何か、銘さんは紹介しないで、自分で資料を調べてください.Apacheは最もよく使われるWEBサービスソフトですが、MySQLは比較的小型のデータベースソフトで、この2つのソフトとPHPはwindowsのマシンにインストールできます.次は、このLAMP環境を構築する方法を教えてあげます.
MySQLのインストール
私たちは普段MySQLをインストールするのはすべてソースパッケージでインストールしていますが、そのコンパイルには長い時間がかかるので、銘さんはバイナリのコンパイルフリーパッケージをインストールすることをお勧めします.MySQL公式サイトでダウンロードできますhttp://dev.mysql.com/downloads/具体的なバージョンはあなたのプラットフォームと需要によって異なり、現在よく使われているのはmysql-5.0/mysql-5.1で、5.5バージョンはすでに発表されていますが、オンラインでサービスをしているのは少数のようです.以下はインストール手順です(次のインストール手順は32ビットのオペレーティングシステムに基づいています.システムが64ビットの場合は、64ビットのパッケージをダウンロードする必要があります). mysqlを/usr/local/src/ にダウンロード解凍 解凍したデータを/usr/local/mysql に移動 mysqlユーザー を確立データベース の初期化コピープロファイル 起動スクリプトファイルをコピーし、そのプロパティ を変更します.起動スクリプト の変更
変更が必要な箇所は「datadir=/data/mysql」(前にデータベースを初期化したときに定義したディレクトリ)です.起動スクリプトをシステムサービス項目に追加し、起動起動を設定し、mysql を起動する
起動できない場合は、/data/mysql/でエラーログを表示してください.このログは通常ホスト名です.err. mysqlが起動しているかどうかを確認するコマンドは、次のとおりです.
Apacheのインストール
同様にapacheも公式サイトで適切なバージョンをダウンロードする必要があります.現在、多くのバージョンが2.0または2.2阿銘を使用して2.2バージョンをダウンロードすることをお勧めします.apache公式サイトのダウンロードアドレス:http://www.apache.org/dyn/closer.cgi銘が提供したアドレスを使ってダウンロードすることもできます.
解凍:
コンパイルパラメータの設定:
configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.
解決策:
wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
tar zxf apr-1.5.2.tar.gz && cp -fr apr-1.5.2 ./httpd-2.4.9/srclib/apr
tar zxf apr-util-1.5.4.tar.gz && cp -fr apr-util-1.5.4 ./httpd-2.4.9/srclib/apr-util
次に./を再実行します.configure --prefix=.....
エラー:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
解決策:不足のためpcreftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gzアドレスをダウンロードし、インストールをコンパイルします.
解決策は次のとおりです.
makeでエラーが発生しないように、事前にライブラリファイルをインストールしたほうがいいです.
コンパイル:
インストール:
以上の2つのステップは、
PHPを取り付ける
阿銘がこのチュートリアルを書いた時、phpの現在の最新バージョンは5.5で、多くのウェブサイトが5.2以上のバージョンを走っていると信じています.実は5.2バージョンのphpは古典的で安定しています.阿銘の会社は5.2バージョンを使っていますが、バージョンが古いことを考慮すると、穴が漏れるのは避けられません.だから、5.3または5.4バージョンを使うことをお勧めします.phpの公式ダウンロードアドレス:http://www.php.net/downloads.php
phpをダウンロード:
解凍:
コンパイルパラメータの設定:
[root@localhost src]# cd php-5.3.27[root@localhost php-5.3.27]# ./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
エラー
jpeglib.h not found.
解決:
#yum install libjpeg-devel
エラー:
解決策は次のとおりです.
エラーもあります.
解決策は次のとおりです.
エラー:
解決策:
エラー:
解決策:
エラー:
解決策:
エラー:
解決策:
なぜならcentos 6.xデフォルトのyumソースにはlibmcrypt-develというパッケージがなく、サードパーティのyumソースしか利用できません.
コンパイル:
このステップでは、多くのエラーに遭遇する可能性があります.大丈夫です.エラーメッセージをよく見てください.解決策は簡単です.不足しているライブラリをインストールすることです.間違った情報をgoogleにコピーして検索することができます
インストール:
プロファイルのコピー:
[root@localhost php-5.3.27]# cp php.ini-production /usr/local/php/etc/php.ini
[[email protected]]#/usr/local/php/bin/php-m phpモジュールの表示
[PHP Modules]
bz2
Core
ctype
date
dom
ereg
exif
fileinfo
filter
gd
hash
iconv
json
libxml
mbstring
mcrypt
mysql
openssl
pcre
PDO
apache結合php
Apacheメインプロファイルは、/usr/local/apache 2/conf/http.conf
検索:
行の下に追加:
検索:
ローを次のように変更します.
検索:
次のように変更します.
LAMPが成功したかどうかをテストします
apacheを起動する前に、プロファイルが正しいかどうかを確認します.
エラーがある場合はhttpdの変更を続行してください.conf、正しい場合は「Syntax OK」と表示され、apacheを起動するコマンドは次のとおりです.
起動するかどうかを確認します.
この行が表示されている場合は起動します.curlコマンドを使用して簡単にテストすることもできます.
このように表示してこそ正しい.
phpを正しく解析するかどうかをテストします.
書き込み:
保存後、テストを続行します.
次の情報が表示されるかどうかを確認します.
銘のように表示してこそ正しい.
初めてブラウザを使って私たちのウェブサービスにアクセスするときは、ファイアウォールのせいでアクセスできないかもしれません.次のコマンドを実行します.
これにより、システムのデフォルトのファイアウォールルールをクリアし、80ポートを解放できます.
LAMP環境は構築されていますが、これはソフトウェアをインストールしただけですが、具体的な構成はまだ多くの仕事がありますか?つまり、あなたは環境を構築しましたが、細部のものを配置することができなければ、仕事の経験がないことに相当します.だから、apacheやphpを配置しましょう.具体的な参考資料は阿銘フォーラムの対応するバージョンに見つけることができます.多くの投稿は阿銘の仕事の中で配置されています.阿銘は本当にあなたが阿銘の投稿に従って配置することを望んでいます.これはあなたに大きなメリットがあります.フォーラムのアドレス:http://www.aminglinux.com/bbs/forum.php
拡張学習:http://www.aminglinux.com/bbs/thread-5441-1-1.html
MySQLのインストール
私たちは普段MySQLをインストールするのはすべてソースパッケージでインストールしていますが、そのコンパイルには長い時間がかかるので、銘さんはバイナリのコンパイルフリーパッケージをインストールすることをお勧めします.MySQL公式サイトでダウンロードできますhttp://dev.mysql.com/downloads/具体的なバージョンはあなたのプラットフォームと需要によって異なり、現在よく使われているのはmysql-5.0/mysql-5.1で、5.5バージョンはすでに発表されていますが、オンラインでサービスをしているのは少数のようです.以下はインストール手順です(次のインストール手順は32ビットのオペレーティングシステムに基づいています.システムが64ビットの場合は、64ビットのパッケージをダウンロードする必要があります).
cd /usr/local/src/
wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
[root@localhost src]# tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
[root@localhost src]# mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql
[root@localhost src]# useradd -s /sbin/nologin mysql
[root@localhost src]# cd /usr/local/mysql
[root@localhost mysql]# mkdir -p /data/mysql ; chown -R mysql:mysql /data/mysql
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
--user
はデータベースの所有者を定義し、--datadir
はデータベースがどこにインストールされているかを定義し、大きな空間のパーティションに配置することをお勧めします.このディレクトリは自分で作成する必要があります.この手順は重要です.2つのOKの説明が正しく実行されている場合は、エラーメッセージをよく確認してください.本当に解決できない場合は、フォーラムチュートリアルの質疑応答ブロックに問題を送信してください.http://www.aminglinux.com/bbs/forum-40-1.html)銘さんが問題を解決してくれます.[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chmod 755 /etc/init.d/mysqld
[root@localhost mysql]# vim /etc/init.d/mysqld
変更が必要な箇所は「datadir=/data/mysql」(前にデータベースを初期化したときに定義したディレクトリ)です.
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# service mysqld start
起動できない場合は、/data/mysql/でエラーログを表示してください.このログは通常ホスト名です.err. mysqlが起動しているかどうかを確認するコマンドは、次のとおりです.
[root@localhost mysql]# ps aux |grep mysqld
Apacheのインストール
同様にapacheも公式サイトで適切なバージョンをダウンロードする必要があります.現在、多くのバージョンが2.0または2.2阿銘を使用して2.2バージョンをダウンロードすることをお勧めします.apache公式サイトのダウンロードアドレス:http://www.apache.org/dyn/closer.cgi銘が提供したアドレスを使ってダウンロードすることもできます.
[root@localhost mysql]# cd /usr/local/src/
[root@localhost src]# wget http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz
解凍:
[root@localhost src]# tar zxvf httpd-2.2.16.tar.gz
コンパイルパラメータの設定:
[root@localhost src]# cd httpd-2.2.16
[root@localhost httpd-2.2.16]# ./configure \
--prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre
--prefix
はインストール先を指定し、--enable-so
はDSO[1]--enable-deflate=shared
が共有を表す方式でdeflateをコンパイルすることを示し、後のパラメータは同じである.もしこのステップでこのようなエラーが発生したら:configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.
解決策:
wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
tar zxf apr-1.5.2.tar.gz && cp -fr apr-1.5.2 ./httpd-2.4.9/srclib/apr
tar zxf apr-util-1.5.4.tar.gz && cp -fr apr-util-1.5.4 ./httpd-2.4.9/srclib/apr-util
次に./を再実行します.configure --prefix=.....
エラー:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
解決策:不足のためpcreftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gzアドレスをダウンロードし、インストールをコンパイルします.
error: mod_deflate has been requested but can not be built due to prerequisite failures
解決策は次のとおりです.
yum install -y zlib-devel
makeでエラーが発生しないように、事前にライブラリファイルをインストールしたほうがいいです.
yum install -y pcre pcre-devel apr apr-devel
コンパイル:
[root@localhost httpd-2.2.16]# make
インストール:
[root@localhost httpd-2.2.16]# make install
以上の2つのステップは、
echo $?
を使用して正しく実行されているかどうかを確認することができます.そうしないと、エラープロンプトに基づいて問題を解決する必要があります.PHPを取り付ける
阿銘がこのチュートリアルを書いた時、phpの現在の最新バージョンは5.5で、多くのウェブサイトが5.2以上のバージョンを走っていると信じています.実は5.2バージョンのphpは古典的で安定しています.阿銘の会社は5.2バージョンを使っていますが、バージョンが古いことを考慮すると、穴が漏れるのは避けられません.だから、5.3または5.4バージョンを使うことをお勧めします.phpの公式ダウンロードアドレス:http://www.php.net/downloads.php
phpをダウンロード:
[rot@localhost httpd-2.2.16]# cd /usr/local/src
[root@localhost src]# wget http://am1.php.net/distributions/php-5.3.27.tar.gz
解凍:
[root@localhost src]# tar zxf php-5.3.27.tar.gz
コンパイルパラメータの設定:
[root@localhost src]# cd php-5.3.27[root@localhost php-5.3.27]# ./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
エラー
jpeglib.h not found.
解決:
#yum install libjpeg-devel
エラー:
configure: error: xml2-config not found. Please check your libxml2 installation.
解決策は次のとおりです.
yum install -y libxml2-devel
エラーもあります.
configure: error: Cannot find OpenSSL's
解決策は次のとおりです.
yum install -y openssl openssl-devel
エラー:
checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution
解決策:
yum install -y bzip2 bzip2-devel
エラー:
configure: error: png.h not found.
解決策:
yum install -y libpng libpng-devel
エラー:
configure: error: freetype.h not found.
解決策:
yum install -y freetype freetype-devel
エラー:
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解決策:
rpm -ivh "http://www.aminglinux.com/bbs/data/p_w_upload/forum/month_1211/epel-release-6-7.noarch.rpm"
yum install -y libmcrypt-devel
なぜならcentos 6.xデフォルトのyumソースにはlibmcrypt-develというパッケージがなく、サードパーティのyumソースしか利用できません.
コンパイル:
[root@localhost php-5.3.27]# make
このステップでは、多くのエラーに遭遇する可能性があります.大丈夫です.エラーメッセージをよく見てください.解決策は簡単です.不足しているライブラリをインストールすることです.間違った情報をgoogleにコピーして検索することができます
インストール:
[root@localhost php-5.3.27]# make install
プロファイルのコピー:
[root@localhost php-5.3.27]# cp php.ini-production /usr/local/php/etc/php.ini
[[email protected]]#/usr/local/php/bin/php-m phpモジュールの表示
[PHP Modules]
bz2
Core
ctype
date
dom
ereg
exif
fileinfo
filter
gd
hash
iconv
json
libxml
mbstring
mcrypt
mysql
openssl
pcre
PDO
apache結合php
Apacheメインプロファイルは、/usr/local/apache 2/conf/http.conf
vim /usr/local/apache2/conf/httpd.conf
検索:
AddType application/x-gzip .gz .tgz
行の下に追加:
AddType application/x-httpd-php .php
検索:
DirectoryIndex index.html
ローを次のように変更します.
DirectoryIndex index.html index.htm index.php
検索:
#ServerName www.example.com:80
次のように変更します.
ServerName localhost:80
LAMPが成功したかどうかをテストします
apacheを起動する前に、プロファイルが正しいかどうかを確認します.
/usr/local/apache2/bin/apachectl -t
エラーがある場合はhttpdの変更を続行してください.conf、正しい場合は「Syntax OK」と表示され、apacheを起動するコマンドは次のとおりです.
/usr/local/apache2/bin/apachectl start
起動するかどうかを確認します.
[root@localhost ~]# netstat -lnp |grep httpd
tcp 0 0 :::80 :::* LISTEN 7667/httpd
この行が表示されている場合は起動します.curlコマンドを使用して簡単にテストすることもできます.
[root@localhost ~]# curl localhost
It works!
このように表示してこそ正しい.
phpを正しく解析するかどうかをテストします.
vim /usr/local/apache2/htdocs/1.php
書き込み:
保存後、テストを続行します.
curl localhost/1.php
次の情報が表示されるかどうかを確認します.
[root@localhost ~]# curl localhost/1.php
php [root@localhost ~]#
銘のように表示してこそ正しい.
初めてブラウザを使って私たちのウェブサービスにアクセスするときは、ファイアウォールのせいでアクセスできないかもしれません.次のコマンドを実行します.
[root@localhost ~]# iptables -F
これにより、システムのデフォルトのファイアウォールルールをクリアし、80ポートを解放できます.
LAMP環境は構築されていますが、これはソフトウェアをインストールしただけですが、具体的な構成はまだ多くの仕事がありますか?つまり、あなたは環境を構築しましたが、細部のものを配置することができなければ、仕事の経験がないことに相当します.だから、apacheやphpを配置しましょう.具体的な参考資料は阿銘フォーラムの対応するバージョンに見つけることができます.多くの投稿は阿銘の仕事の中で配置されています.阿銘は本当にあなたが阿銘の投稿に従って配置することを望んでいます.これはあなたに大きなメリットがあります.フォーラムのアドレス:http://www.aminglinux.com/bbs/forum.php
拡張学習:http://www.aminglinux.com/bbs/thread-5441-1-1.html