転載元: http://blog.csdn.net/buutterfly/article/details/5630203
DedeCMS 導入 -- Apache+Mysql+PHP (LAMP) を導入するには?
1. Linux OS:Linux OS: Red Hat Enterprise Linux AS release 4 (Nahant Update 6)
2.Apache 2.1 のデプロイ Apache のダウンロード
Apache2 ソースを http://httpd.apache.org/ からダウンロードし、直接ダウンロードします/root で、tar パッケージ php-5.2.13 を解凍します。 2.2apache
cdhttpd -2.15をコンパイルし、makefile/configure =/usr/apache/ - apacheインストールディレクトリを指定します。 Enable -ssl /
--enable-mime-magic
2.3 make と make installMake プロセス中に問題が発生する可能性があります。詳細については、セクション 5 を参照してください。
Apache 導入リファレンス: http://dan.drydog.com/apache2php.html
3. Mysql 3.1 を導入する mysql をダウンロードするhttp://dev.mysql.com/ から mysql ソースをダウンロードし、ダウンロードで MySQL Community Server を選択しますページ、ダウンロードページに入ります。 Red Hat Enterprise Linuxを選択します。私の OS は REHL4.6 で 64 ビットであるため、3 つのパッケージ:
MySQL-server-community-5.1.47-1.rhel4.x86_64.rpm MySQL-devel-community-5.1.47-1 .rhel4 をダウンロードしました。 x86_64.rpm ?必須、そうでない場合、Apache が MySQL-client-community-5.1.47-1.rhel4.x86_64.rpm をコンパイルするときにエラーが発生します
3.2 mysql サーバーをインストールしますrpm ?ivh MySQL-server-community-5.1。 1.rhel4.x86_64.rpm
サーバーのインストール後、成功したかどうかをテストするには、netstat を実行して MySQL ポートが開いているかどうかを確認します。開いている場合は、サービスが開始されていることを意味します。インストールは成功しました。Mysql のデフォルトのポートは 3306 です。コマンドは次のとおりです: netstat ?nap |grep 3306
3.3 mysql クライアントをインストールします
rpm ?ivh MySQL-client-community-5.1.47-1.rhel4.x86_64.rpm3.4 mysql devel をインストールします
rpm ?ivh MySQL-devel -community- 5.1.47-1.rhel4.x86_64.rpm3.5 MySQL にログインします
[root@test1 local]# mysqlMySQL モニターへようこそ コマンドは ; または /g で終わります
MySQL 接続id は 1 からサーバーのバージョン: 4.0.16-standard
ヘルプには 'help;' または '/h' を入力してください。 バッファをクリアするには '/c' を入力してください。
mysql>
「mysql>」プロンプトが表示されます、おめでとうございます。インストールが成功しました。
パスワードを追加した後のログイン形式は次のとおりです:
mysql -u root -p
パスワードを入力: (パスワードを入力)
-u の後にユーザー名が続き、-p にはパスワードが必要なので、Enter を押しますパスワードフィールドにパスワードを入力します。
注: この mysql ファイルは /usr/bin ディレクトリにあり、後述する起動ファイル /etc/init.d/mysql とは同じファイルではありません。
3.6 mysql パスワードの変更MySQL にはデフォルトではパスワードがありません。インストール後にパスワードを追加することが重要であることは自明のことです。
1. コマンド
usr/bin/mysqladmin -u root パスワード 'new-password'
形式: mysqladmin -u username -p 古いパスワード パスワード 新しいパスワード
2. 例
例 1: root の追加 パスワードは123456です。
次のコマンドを入力します:
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注: root には最初にパスワードがないため、-p old passwd 項目は省略。
3. 変更が成功したかテストします
1) パスワードなしでログインします
[root@test1 local]# mysql
ERROR 1045: Access Deny for user: 'root@localhost' (Using password: NO)
パスワードが変更されたことを示すエラーを表示します。
2) 変更したパスワードでログインします
[root@test1 local]# mysql -u root -p
パスワードを入力してください: (変更したパスワード 123456 を入力します)
MySQL モニターへようこそ コマンドは ; または / で終わります。 g.
MySQL 接続 ID は 4 で、サーバー バージョン: 4.0.16-standard
'help;' または '/h' を入力してバッファをクリアします。
mysql>
成功!
これは、mysqladmin コマンド、またはライブラリを変更してパスワードを変更することです。
3.7 起動と停止1. 起動
MySQL のインストールが完了したら、起動ファイル mysql が /etc/init.d ディレクトリにあります。起動する必要がある場合は、次のコマンドを実行します。
[root@test1 init.d]# /etc/init.d/mysql start
2. 停止
/usr/bin/mysqladmin -u root -p shutdown
3. 自動的に起動
1) 確認mysql は自動起動リストにありますか
[root@test1 local]# /sbin/chkconfig --list
2) MySQL をシステムの起動サービスグループに追加します
[root@test1 local]# /sbin /chkconfig ?- add mysql
3) MySQLをスタートアップサービスグループから削除します。
[root@test1 local]# /sbin/chkconfig ?-del mysql
Mysql デプロイメントリファレンス: http://www.linuxidc.com/Linux/2007-12/9962p3.htm
3.8 mysql の使用(私たちにとってLAMP 環境のデプロイの場合、オプションでこのセクションを使用できます)
MySQL のデフォルトのデータ ファイル保存ディレクトリは /var/lib/mysql です。ディレクトリを /home/data に移動する場合は、次の手順を実行する必要があります:
1. ホームディレクトリにデータディレクトリ
を作成します
cd /home
mkdir data
2. MySQL サービス プロセス:
mysqladmin -u root -p shutdown
3. /var/lib/mysql ディレクトリ全体を /home/data
mv /var/lib/mysql /home/data/
これにより、 MySQL データ ファイルを /home/data/mysql の下に移動します
4. my.cnf 設定ファイルを見つけます
/etc/ ディレクトリに my.cnf 設定ファイルがない場合は、以下の *.cnf ファイルを見つけてください。 /usr/share/mysql/ を選択し、それを /etc/ にコピーし、名前を my.cnf に変更します。コマンドは次のとおりです:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5. MySQL 設定ファイル /etc/my.cnf
を編集します。For MySQL が正しく動作するようにするには、mysql.sock ファイルが生成される場所を指定する必要があります。 「socket=/var/lib/mysql/mysql.sock」行の中の記号の右側の値を /home/mysql/mysql.sock に変更します。操作は次のとおりです:
vi My.cnf (vi ツールを使用して my.cnf ファイルを編集し、次のデータを見つけて変更します)
/mysql/mysql.sock (オリジナルのコンテンツ、この行を「#」でコメント化します) "より安全のため)
socket = /home/data/mysql/mysql.sock (この行を追加)
6. MySQL 起動スクリプトを変更します/etc/rc.d/init.d/mysql
最後に、 MySQL 起動スクリプト/etc/rc.d/init.d/mysql を変更し、等号の右側の行に datadir=/var/lib/mysql を入力する必要があります。パスを現在の実際のストレージ パスに変更します。 : ホーム/データ/mysql。
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
7. MySQL サービスを再起動します
/etc/rc.d/init.d/mysql start
または、 rebootコマンドでLinuxを再起動します
正常に作業が移動すれば成功、それ以外の場合は前の7を参照して再度確認してください。
4. PHP のデプロイ
PHP のデプロイは、デプロイ全体の中で最も難しい部分であり、インターネットで答えを見つけるのに最も時間がかかる部分でもあります。
4.1 PHP をダウンロードするhttp://www.php.net/
から PHP ソースをダウンロードする注: dedecms 5.6 以降では、php5.3 のサポートが不十分です。 php5.3 バージョンを使用している場合、cms のインストールが成功すると、インストールの完了後にシステムのバックグラウンド ページに「非推奨: Function ereg_replace() is deprecated....」というメッセージが表示されます。
解決策は 2 つあります。セクション 5 を参照してください。
4.2 PHP をコンパイルするcd php-5.2.13 をコンパイルし、Makefile を生成します。注: この場所の構成項目は、独自のニーズに応じて選択する必要があります。
./configure /
--with-apxs2=/usr/local/apache/bin/apxs /
--with-mysql /
--prefix=/usr/local/apache /php /
--with-config-file-path=/usr/local/apache/php /
--enable-force-cgi-redirect /
--disable-cgi /
--with- zlib /
- -with-gettext /
-gdbm あり4.3 make & make install 4.4 cp -p .libs/libphp5.so /usr/local/apache/modules 4.5 cp php.ini
コマンド例下: cp -p php.ini-recommended /usr/local/apache/php/php .ini
4.6 修正httpd.conf修正/usr/local/apache/conf/httpd.conf、以下の内容を追加:
1.
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule php5_module modules/libphp5.so
AddHandler php5-script php
2.
# DirectoryIndex: ディレクトリ
# が要求された場合に Apache が提供するファイルを設定します。
# DirectoryIndexindex.html DirectoryIndexindex.phpindex.htmlindex.shtmlindex.cgi
3.
#上記のAddEncodingディレクティブがコメントアウトされている場合は、
#おそらく、メディア タイプを示すためにこれらの拡張子を定義する必要があります:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
4.7 修正完了後重新启アニメーションapachePHPインストール参考:http://dan.drydog.com/apache2php.html
5.法 5.1 エラー: libpng.(a|so) が見つかりません。
象の説明:
🎖译apache の時間のヒント:floorf をチェック中... はい
configure が失敗した場合は --with-jpeg-dir=
configure: error: libpng.(a| so) 見つかりません。
解办法:
上の検索を介してその原因を知り、一般的な検索编译路径を/usr/lib/下に設定するため、php默认在/usr/lib/下找相关パッケージ ファイル、x64 マシン上は:/usr/lib64 にあります。この時点で、必要なパッケージ ファイルを /usr/lib64 から /usr/lib/ に直接取得できます。 configure前の実行如下のコマンド:
cp -frp /usr/lib64/libjpeg.* /usr/lib/
5.2 エラー: Yes の下で MySQL ヘッダー ファイルが見つかりません
现象説明:编译apache の時のヒント:
MySQL UNIX ソケットの指定された場所を確認しています... no
configure: error: Cannot find MySQL header files under yes.
MySQL クライアント ライブラリはバンドルされていないことに注意してください!
解办法:
这个
5.3 mysql-server、mysql-devel、mysql-client の同じ
和文原版:ほとんどの場合、必要なのは次のことだけです。 MySQL サーバーと MySQL クライアントのパッケージをインストールして、機能する MySQL インストールを取得します。他のパッケージは標準インストールには必要ありません。追加機能を備えた MySQL-Max サーバーを実行する場合は、MySQL-Max RPM もインストールする必要があります。ただし、これは MySQL サーバー RPM をインストールした後にのみ行う必要があります。
MySQL 4.0 パッケージをインストールしようとしたときに依存関係のエラーが発生した場合 (たとえば、「エラー: これらのパッケージを削除すると依存関係が壊れます: libmysqlclient. so.10 は ...'' で必要です) の場合、パッケージ MySQL-shared-compat もインストールする必要があります。これには、下位互換性のための両方の共有ライブラリ (MySQL 4.0 の場合は libmysqlclient.so.12、MySQL 4.0 の場合は libmysqlclient.so.10) が含まれています。 MySQL 3.23)。
次の RPM パッケージが利用可能です:
MySQL-server-VERSION.i386.rpm MySQL サーバー。別のマシンで実行されている MySQL サーバーに接続するだけの場合を除き、これが必要になります。注: MySQL 4.0.10 より前は、サーバー RPM ファイルは MySQL-VERSION.i386.rpm と呼ばれていました。つまり、名前に -server がありませんでした。
MySQL-Max-VERSION.i386.rpm MySQL-Max サーバー。このサーバーには、MySQL サーバー RPM で提供されている機能にはない追加機能があります。 MySQL-Max RPM は MySQL-server RPM に依存しているため、最初に MySQL-server RPM をインストールする必要があります。
MySQL-client-VERSION.i386.rpm 標準の MySQL クライアント プログラム。おそらく常にこのパッケージをインストールしたいと思うでしょう。
MySQL-bench-VERSION.i386.rpm テストとベンチマーク。 Perl と DBD::mysql モジュールが必要です。
MySQL-devel-VERSION.i386.rpm Perl モジュールなど、他の MySQL クライアントをコンパイルする場合に必要なライブラリとインクルード ファイル。
MySQL-shared- VERSION.i386.rpm このパッケージには、特定の言語とアプリケーションが MySQL を動的にロードして使用するために必要な共有ライブラリ (libmysqlclient.so*) が含まれています。
MySQL-shared-compat-VERSION.i386.rpm このパッケージには、MySQL 3.23 と MySQL 4.0 の両方の共有ライブラリが含まれています。MySQL 3.23 に対して動的にリンクされるアプリケーションがインストールされているが、必要に応じて、MySQL-shared の代わりにこのパッケージをインストールします。ライブラリの依存関係を壊さずに MySQL 4.0 にアップグレードします。このパッケージは MySQL 4.0.13 以降で利用可能です。
MySQL-embedded-VERSION.i386.rpm 組み込み MySQL サーバー ライブラリ (MySQL 4.0 以降)。
MySQL-VERSION.src .rpm これには、以前のすべてのパッケージのソース コードが含まれています。また、他のアーキテクチャ (Alpha や SPARC など) で RPM を再構築するために使用することもできます。
中国語翻訳:
MySQL-VERSION.i386。 rpm MySQL サーバー。別のマシンで実行されている MySQL サーバーに接続するだけの場合を除き、これが必要になります。
MySQL-client-VERSION.i386.rpm 標準 MySQL クライアント プログラム。このパッケージは常にインストールする必要がある場合があります。
MySQL-bench-VERSION.i386.rpm テストおよびベンチマーク プログラム。 Perl および msql-mysql-modules RPM が必要です。
MySQL-devel-VERSION.i386.rpm 必要なライブラリとインクルード ファイル。 Perl モジュールなどの他の MySQL クライアント プログラムをコンパイルする場合。
MySQL-VERSION.src.rpm には、上記のすべてのパッケージのソース コードが含まれています。これを使用して、他のハードウェア プラットフォーム (Alpha や SPARC など) 用の RPM を構築することもできます。
RPM パッケージ内のすべてのファイルを表示します:
shell>; rpm - qpl MySQL-VERSION.i386.rpm
標準の最小インストールを実装するには、次のコマンドを実行します:
shell>; i386.rpm MySQL-client-VERSION.i386.rpm
5.4 エラー: /usr で libmysqlclient が見つかりません
現象の説明:
エラー: /usr
で libmysqlclient が見つかりません解決策:
実際には、5. 1解決策も同じです。 /usr/lib64/mysql を /usr/lib/ にコピーします。
5.5 CMS ディレクトリ権限の問題
現象の説明:
インストール ページに入ると、次のように、一部のディレクトリに読み取りおよび書き込み権限がないことを示すメッセージが表示されます:
/usr/local/apache/htdocs/uploads
ディレクトリ名 読み取り権限 書き込み権限
/ [√]Read [X] Write ----/usr/local/apache/htdocs/uploads を参照
/plus/* [√]Read [X] Write
/dede/* [ √]読む[ √]読み取り [√] 書き込み
解決策:
CMS をインストールすると、権限が次のとおりであることを確認するメッセージが表示されます。不十分なため、アップロード ディレクトリの権限を変更する必要があります
Chmod 777 アップロード -R
5.6 非推奨: 関数 ereg_replace() は非推奨です注: dedecms 5.6 以降には、php5.3 のサポートに欠陥があります。 php5.3 バージョンを使用している場合、cms のインストールが成功すると、インストールの完了後にシステムのバックグラウンド ページに「非推奨: Function ereg_replace() is deprecated....」というメッセージが表示されます。
解決策は 2 つあります。セクション 5 を参照してください。
最初のタイプ:
技術スタッフの習慣のため、dedecms は php5.3 以降のバージョンの php サポートにいくつかのエラーがある可能性があります。ファイル dede/config.php を開くことができます。
define('DEDEADMIN', ereg_replace ("[///]{1,}", '/', dirname(__FILE__) ) );削除する必要はありません。この文の前に「//」を追加するだけで非表示になります。そして、以下に文を追加します
define('DEDEADMIN',strtr(dirname(__FILE__),'///','//'));
以上です!オーバーレイをアップロードし、更新して確認すると、問題は解決されるはずです。
2 番目のオプション:
php5.2 パッケージを再ダウンロードします。実際、この方法で使用することは面倒ではなく、再コンパイルするだけですが、問題を解決する最も直接的な方法です。さらなる問題を防ぐために、php5.2を使用して再コンパイルしました。
上記の操作の正規表現の説明は次のとおりです:
正規表現では、バックスラッシュは通常、数字と一致する「/d」、使用される「/s」など、他の文字と一緒に特別な構造を形成します。空白文字と一致させるには、「/1」を使用して、最初のグループによってキャプチャされたテキストを後方参照します。
しかし、正規表現で「バックスラッシュ」文字自体を表す必要があるだけの場合は、どうすればよいでしょうか?
実際、正規表現は文字列と同じ方法でこの問題を処理します。つまり、正規表現では、単一のバックスラッシュを表すためにエスケープ シーケンス「//」を使用する必要があります。
この規定は興味深い問題を引き起こします。正規表現内に単独で現れるバックスラッシュ文字は、正規表現レベルではエスケープ シーケンス '//' で表す必要があります。ただし、各バックスラッシュは、正規表現を表す文字列内で表現されます。エスケープ シーケンス '//' で表す必要があります。したがって、文字列では、正規表現に現れる 1 つのバックスラッシュ文字に対応する 4 つのバックスラッシュ '////' を記述する必要があります。文字列処理レベルでは、これらは 2 つのバックスラッシュ '//' として認識されます。正規表現レベルでは単一のバックスラッシュ文字「/」として認識されます。