アパッチ+Mysql+PHP

Jun 23, 2016 pm 02:37 PM

転載元: 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 install

Make プロセス中に問題が発生する可能性があります。詳細については、セクション 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.rpm

3.4 mysql devel をインストールします

rpm ?ivh MySQL-devel -community- 5.1.47-1.rhel4.x86_64.rpm

3.5 MySQL にログインします

[root@test1 local]# mysql

MySQL モニターへようこそ コマンドは ; または /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 修正完了後重新启アニメーションapache

PHPインストール参考: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-be​​nch-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-be​​nch-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 つのバックスラッシュ '//' として認識されます。正規表現レベルでは単一のバックスラッシュ文字「/」として認識されます。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? Apr 06, 2025 am 12:02 AM

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 Apr 03, 2025 am 12:04 AM

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

phpstormでCLIモードをデバッグする方法は? phpstormでCLIモードをデバッグする方法は? Apr 01, 2025 pm 02:57 PM

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

See all articles