ホームページ >バックエンド開発 >PHPチュートリアル >CentOS 6.3上のソースコードインストールLAMP (Linux+Apache+Mysql+Php)環境

CentOS 6.3上のソースコードインストールLAMP (Linux+Apache+Mysql+Php)環境

WBOY
WBOYオリジナル
2016-06-23 14:37:36924ブラウズ

1. はじめに

LAMP とは

LAMP は、Linux、Apache、MySQL、Php/Perl の略称であり、それぞれのコンポーネント自体が非常に重要です。それらが表現するものにおいて強力なコンポーネント。

LAMPという言葉の由来は、1990年にミヒャエル・クンツェが最初にこれらのプロジェクトを組み合わせてLAMPの略語を作成したドイツの雑誌「c't Magazine」に由来しています。これらのコンポーネントはもともと一緒に使用するように設計されていませんでしたが、ソフトウェアはオープンソースであり、無料で簡単に入手して使用できるため、これらのコンポーネントは一緒に使用されることがよくあります。これらのコンポーネントの互換性も常に向上しており、異なるコンポーネント間の連携を向上させるために、特定の拡張機能が作成され、アプリケーション シナリオが非常に一般的になっているため、現在最も人気のある Web アプリケーション インフラストラクチャとなっています。


LAMP コンポーネント

プラットフォームは、階層構造の 4 つのコンポーネントで構成されます。 各層は、アーキテクチャ全体の重要な部分を提供します。

Linux: Linux は最下位にあり、オペレーティング システムを提供します。その柔軟性とカスタマイズ性は、他のコンポーネントを実行できる高度にカスタマイズされたプラットフォームを作成できることを意味します。他のコンポーネントは Linux 上で実行されますが、必ずしも Linux に限定されるわけではなく、Microsoft Windows、Mac OS X、または UNIX 上でも実行できます。
Apache: Apache は第 2 層に位置し、ユーザーが Web ページを取得できるメカニズムを提供する Web サービス プラットフォームです。 Apache は、強力で安定したミッションクリティカルな Web サーバーであり、インターネット上の Web サイトの 50% 以上が Web サーバーとして使用しています。
MySQL: MySQL は、最も人気のあるオープンソースのリレーショナル データベース管理システムであり、LAMP のデータ ストレージ端です。 Web アプリケーションでは、すべてのアカウント情報、製品情報、顧客情報、ビジネス データ、およびその他の種類の情報がデータベースに保存され、SQL 言語を使用して簡単にクエリできます。
PHP/Perl: Perl は、特にテキスト要素を処理する場合に柔軟な言語です。この柔軟性により、Perl は CGI インターフェイスを通じて提供されるデータを簡単に処理し、テキスト ファイルと単純なデータベースを柔軟に使用して動的要素をサポートできます。 PHP は、広く使用されているオープンソースの多目的スクリプト言語で、HTML に埋め込むことができ、特に Web 開発に適しています。 PHP を使用すると、MySQL データベース内のデータや Linux が提供する一部の機能にアクセスする動的コンテンツを作成できます。

2. システム環境

システムプラットフォーム: CentOS リリース 5.8 (最終版)

Apache バージョン: httpd-2.2.9.tar.gz

Mysql バージョン: mysql-5.0.41.tar.gz

Php バージョン:php-5.2.6.tar.gz

3. インストール前の準備

1. ライブラリファイルの準備

PHPをインストールする前に、まず、libxml2、libmcrypt、およびPHP5で必要な最新バージョンのライブラリファイルをインストールする必要があります。 GD2 ライブラリとその他のドキュメント。 GD2 ライブラリをインストールする目的は、PHP5 が GIF、PNG、および JPEG 画像形式をサポートできるようにすることです。したがって、GD2 ライブラリをインストールする前に、まず最新の zlib、libpng、freetype、jpegsrc およびその他のライブラリ ファイルをインストールする必要があります。さらに、一部のソフトウェアはこのセクションに記載されている順序でインストールできます。


autoconf-2.61.tar.gz

freetype-2.3.5.tar.gz

gd-2.0.35.tar.gz

jpegsrc.v6b.tar.gz

libmcrypt-2.5.8.tar。 gz

libpng-1.2.31.tar.gz

libxml2-2.6.30.tar.gz

zlib-1.2.3.tar.gz

ZendOptimizer-3.2.6-linux-glibc21-i386.tar。 gz

phpMyAdmin-3.0.0-rc1-all-langages.tar.gz

2. gcc、gcc-c++ コンパイラーをインストールします

gcc -v コマンドを使用して、インストール中に使用されたコンパイル ジョブが存在するかどうかを確認します

システムがインストールされていない場合は、システムがインターネットに接続されているときに yum install gcc と yum install gcc-c++ を使用してインストールします

3. デフォルトの下位バージョン環境をアンインストールします

現在リリースされている Linux オペレーティング システムのバージョンでシステムで、デフォルトですべてをインストールすることを選択した場合、LAMP 環境はインストールされていますが、バージョンは比較的低いです。別の LAMP 環境をインストールして、元の LAMP 環境と共存させることもできますが、同時に開くことができる LAMP 環境は 1 つだけであるため、これは必須ではありません。インストールする前に、システムに下位バージョンの環境がインストールされているかどうかを確認する必要があります。インストールされている場合は、元のサービスを停止するか、元の環境をアンインストールします。

a. Apache をアンインストールします

# rpm -qa | grep httpd

手順: httpd パッケージがインストールされているかどうかを確認します

# rpm -e httpd-2.2.3-63.el5.centos

手順: ソフトウェア パッケージ --nodeps をアンインストールします。接続がある場合は、アンインストールも強制します

# cd /etc/httpd/

# rm -rf *

手順: 元の Apache インストール ディレクトリに移動し、削除しますインストールディレクトリとファイルをすべて削除します

b. Mysql をアンインストールします

# rpm -qa | grep mysql

# rpm -e mysql-5.0.77-4.el5_4.2 --nodeps

手順: mysql をアンインストールします

c. Php

をアンインストールします

# rpm -qa | grep php

# rpm -e php-common-5.1.6-27.el5 --nodeps

# rpm -e php-ldap-5.1.6-27。 el5 --nodeps

# rpm -e php-cli-5.1.6-27.el5 --nodeps

# rpm -e php-5.1.6-27.el5 --nodeps

手順: PHP

をアンインストールします

4.ファイアウォール ルールをクリアします

5. SSH シェルを使用して、Windows の 13 個のソース コード パッケージを /usr/local/src にアップロードします

6. 解凍するシェル スクリプト tar.sh を作成します。

rReeeeshute Script tar.shは、すべてのソースコードパッケージを削除します/src/libxml2-2.6.30

# ./configure --prefix=/usr/local/libxml2

# make && make install

2. libmcrypt

をインストールします

# cd /usr/local/src/libmcrypt-2.5。 8

# ./configure --prefix=/usr/local/libmcrypt

# make && make install

3. zlib

をインストールします# cd /usr/local/src/zlib-1.2.3

# ./configure

# make && make install

4. libpng をインストールします

# cd /usr/local/src/libpng-1.2.31
# ./configure --prefix=/usr/local/libpng
# make && make install

5. jpeg6 をインストールします

このソフトウェア パッケージのインストールは少し特殊です。他のソフトウェア パッケージをインストールするときにディレクトリが存在しない場合は、自動的に作成されますが、このソフトウェア パッケージはインストール時に手動で作成する必要があります。


# mkdir /usr/local/jpeg6
# mkdir /usr/local/jpeg6/bin

# mkdir /usr/local/jpeg6/lib

# mkdir /usr/local/jpeg6/include

# mkdir -p /usr /local/jpeg6/man/man1


# cd /usr/local/src/jpeg-6b
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static

# make && make install

6. freetype をインストールします


# cd /usr/local/src/freetype-2.3.5
# ./configure --prefix=/usr/local/freetype

# make

# make install

7. autoconf をインストールします

# cd /usr/local/src/autoconf-2.61
# ./configure
# make && make install

8. GD ライブラリをインストールします

# cd /usr/local/src/gd-2.0 .35
# ./configure
--prefix=/usr/local/gd2/

--enable-m4_pattern_allow

--with-zlib=/usr/local/zlib/

--with-jpeg=/usr/local /jpeg6/

--with-png=/usr/local/libpng/
--with-freetype=/usr/local/freetype/

# make

エラーが発生しました:

make[2]: *** [gd_png.lo] エラー 1
make[2]: ディレクトリ `/usr/local/src/gd-2.0.35' を離れます
make[1]: *** [すべて再帰] エラー 1

make[1] : ディレクトリ `/usr/local/src/gd-2.0.35' を離れます

make: *** [all] エラー 2



分析: この問題は、gd ライブラリのソース ファイル gd_png.c に png が含まれていることが原因です.h、png.h が見つかりません。

解決策:

コンパイルされたファイル内

# vi gd_png.c

include “png.h” を変更して “/usr/local/libpng/include/png.h” を含めます


where /usr / local/libpng/ は libpng のインストール パスです。

# make install

9. Apache をインストールします

# cd /usr/local/src/httpd-2.2.9

# ./configure

--prefix=/usr/local/apache2

--sysconfdir=/etc /httpd

--with-z=/usr/local/zlib

--with-include-apr

--enable-so

--enable-deflate=shared

--enable-expires=shared

--enable- rewrite=shared

--enable-static-support

# make && make install

10. Apache を設定する

Apache を起動する

# /usr/local/apache2/bin/apachectl start

Apache を閉じる

# /usr/local /apache2/bin/apachectl stop


ポート80が開いているか確認
# netstat -tnl|grep 80

Apacheサーバーにアクセス



self-startを追加
# echo "/usr/local/apache2/bin/ apachectl start" >> /etc/rc.d/rc.local

11. Mysql をインストールします

mysql 標準グループを追加します

# groupadd mysql


mysql ユーザーを追加し、mysql グループに追加します

# useradd - g mysql mysql


# cd /usr/local/src/mysql-5.0.41

# ./configure

--prefix=/usr/local/mysql/
--with-extra-charsets=all

エラーが発生しました:

-lncurses で tgetent をチェックしています... no

-lcurses で tgetent をチェックしています... no

-ltermcap で tgetent をチェックしています... no
-ltinfo で tgetent をチェックしています... no

termcap をチェックしています関数ライブラリ.. 構成: エラー: Curses/termcap ライブラリが見つかりません


分析: ncurses インストール パッケージがありません

解決策:

# yum install ncurses-devel


# make && make install

12.

データベースサーバーの MySQL 設定ファイルを作成します

# cp support-files/my-medium.cnf /etc/my.cnf


mysql ユーザーを使用して認証テーブルを作成します。作成が成功すると、var ディレクトリが作成されます。 /usr/local/mysql ディレクトリに生成されます
# /usr/local/mysql/bin/mysql_install_db --user=mysql

ファイルのすべての属性を root ユーザーに変更します

# chown -R root /usr/ local/mysql

データディレクトリのすべての属性をmysql userに変更します

# chown -R mysql /usr/local/mysql/var

グループ属性をmysql groupに変更します

# chgrp -R mysql /usr/local/ mysql

启动数据库
# /usr/local/mysql/bin/mysqld_safe --user=mysql &

查看3306端口是否开启
# netstat -tnl|grep 3306

简单的测试
# /usr/local/mysql/bin/mysqladmin version

查看所有mysql参数
# /usr/local/mysql/bin/mysqladmin variables

设置Mysql开机自启动
# cp /usr/local/src/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld
# chown root.root /etc/rc.d/init.d/mysqld
# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --list mysqld
# chkconfig --levels 245 mysqld off

13、Mysql安全性设置

没有密码可以直接登录本机服务器
# /usr/local/mysql/bin/mysql -u root

查看mysql用户权限信息
mysql> select * from mysql.user;

删除非localhost的主机
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';

刷新授权表
mysql> FLUSH PRIVILEGES;

为root用户添加密码
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('abc123');

再次进入Mysql客户端
# /usr/local/mysql/bin/mysql -u root -h localhost -p

关闭MySQL数据库
# /usr/local/mysql/bin/mysqladmin -u root -p shutdown

14、安装PHP

# cd /usr/local/src/php-5.2.6
# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql/ \
--with-libxml-dir=/usr/local/libxml2/ \
--with-png-dir=/usr/local/libpng/ \
--with-jpeg-dir=/usr/local/jpeg6/ \
--with-freetype-dir=/usr/local/freetype/ \
--with-gd=/usr/local/gd2/ \
--with-zlib-dir=/usr/local/zlib/ \
--with-mcrypt=/usr/local/libmcrypt/ \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-soap  \
--enable-mbstring=all \
--enable-sockets
# make && make install

15、配置PHP

创建配置文件
# cp php.ini-dist /usr/local/php/etc/php.ini

使用vi编辑apache配置文件
# vi /etc/httpd/httpd.conf

添加这一条代码
Addtype application/x-httpd-php .php .phtml

重启Apache
# /usr/local/apache2/bin/apachectl restart

以上安装步骤可以写成一个shell script,详细参考http://files.cnblogs.com/mchina/lamp.rar

16、安装Zend加速器

# cd /usr/local/src/ZendOptimizer-3.2.6-linux-glibc21-i386/
# ./install.sh

17、安装phpMyAdmin

拷贝目录到指定位置并改名为phpmyadmin

# cp -a  phpMyAdmin-3.0.0-rc1-all-languages /usr/local/apache2/htdocs/phpmyadmin

# cd /usr/local/apache2/htdocs/phpmyadmin/

# cp config.sample.inc.php config.inc.php

18、配置phpMyAdmin

# vi /usr/local/apache2/htdocs/phpmyadmin/config.inc.php

将auth_type 改为http

$cfg['Servers'][$i]['auth_type'] = 'http';

五、测试

1、编写info.php文件,查看php配置详细

# vi /usr/local/apache2/htdocs/info.php

<?phpphpinfo();?>

通过浏览器访问http://10.0.0.154/info.php,获得php的详细配置信息

2、Zend加速器信息

3、访问phpMyAdmin

至此LAMP环境配置完毕。

 

关于LNMP(linux+nginx+mysql+php)服务器环境配置,请参考:

http://www.cnblogs.com/mchina/archive/2012/05/17/2507102.html

 

David Camp

技术交流,请加QQ群:

    系统运维技术分享:296513821

业务合作,请联系作者QQ:562866602 我的微信号:mchina_tang 给我写信:mchina_tang@qq.com 我的地址:江苏·苏州

我们永远相信,分享是一种美德 | We Believe, Great People Share Knowledge...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。