ホームページ >バックエンド開発 >PHPチュートリアル >この 2 日間、お二人には大変ご迷惑をおかけしましたが、Linux サーバーのアップグレード作業が完了したので、コンパイルしてアップグレードしたドキュメントを PHP チュートリアルに共有します。
Linuxサーバーのアップグレード手順1. MySQL、Apache、および PHP のインストール モードを検出する: このパートの主な目的は、MySQL、Apache、および PHP のインストール モードを理解して、以前の古いバージョンを削除する方法を選択することです。 1. MySQL: # rpm –q mysql package mysql がインストールされていません。表示された結果は、MySQL が RPM パッケージとしてではなく、バイナリ パッケージとしてインストールされていることを示しています。 2. Apache: # rpm –q apache apache-1.3.12-2 表示された結果は、Apache が RPM パッケージとしてインストールされており、バージョンが 1.3.12-2 であることを示しています。 3. PHP: # rpm –q php php-3.0.15-2 表示された結果は、PHP が RPM パッケージとしてインストールされており、バージョンが 3.0.15-2 であることを示しています。 二。 Linux サーバー上のファイルをバックアップします。 1. MySQL: ライブラリ ファイルをエクスポートし、MySQL 内の以前のライブラリをすべてエクスポートします。 2. PHP3: PHP ソース ファイルをバックアップします。 3. Apache: 今回は Linux バージョンの問題により、RPM (Redhat Package Management) であってもバイナリ パッケージであっても、Apache の新しいバージョンを正常にインストールできません。 Apache はアップグレードされていませんが、その主要な httpd.conf ファイルが変更されています (この部分については後で詳しく説明します)。 三つ。 MySQL と PHP の古いバージョンを削除します。「2」で検出されたインストール モードに応じて、異なる削除方法を選択します。 1. MySQL: バイナリ パッケージがインストールとアンインストールに使用されていることが検出されました。まず、「find –name」コマンドを使用してすべての MySQL ファイルのパスを検索し、次に「rm –rf file path」コマンドを使用してそれらを削除します。一つずつ。 2. Apache: 前述したように、Apache は Linux バージョンの問題のためアップグレードされていません。 3. PHP: PHP3 が RPM にインストールされていることが「Two」で検出されたため、次を実行するだけで済みます: # rpm –e php-3.0.15-2 エラー: これらのパッケージを削除すると依存関係が壊れます: php は php に必要です - imap-3.0.15-2 php は php-ldap-3.0.15-2 で必要です php は php-pqsql-3.0.15-2 で必要です php は piranha-qui-0.4.12-1 で必要です 実行後、上記のエラー。 解決策: まず、find コマンドを使用して上記の各パッケージのパスを検索し、次にそれらを 1 つずつ削除してコマンドを再度実行します。 もちろん、rpm コマンドを使用してこれらのファイルを 1 つずつ削除することもできます。 #rm –rf パッケージ パス 4. 新しいバージョンをインストールする: MySQL と PHP の新しいバージョンはすべて、「/root」ディレクトリの mysql-3.23.46.tar.gz および php-4.0.6.tar.gz の tar パッケージに配置されます。 1. MySQL: (1) # cd /root ルート ディレクトリを入力します。 (2) # tar –zxvf mysql-3.23.46.tar.gz ルート ディレクトリに配置された新しいバージョンの mysql の tar パッケージを解凍します。 (3) # cd mysql-3.23.46 解凍後のmysqlのディレクトリに入ります。 (4) # ./configure –prefix=/usr/local/mysql >--with-berkeley-db=./bdb >--with-tcp-port=3306 >--with-mysqld-user=mysql >- -with-charset=gb2312 >--with-extra-charset=latinl mysql を設定します。 ①インストール パス; ②bdb データベース タイプ、トランザクション処理をサポートします; ③ポートを 3306 に設定します (これが設定中に書き込まれていない場合は、この部分に注意してください)。ステートメントを実行したり、9999 と記述したりすると、MySQL が正常に入力できなくなります) ④ユーザーを設定します。 (5) # make コンパイルします。 (6) # make install インストールを行います。 (7) # scripts/mysql_install_db 初期データベースを確立します (8) # chown –R root /usr/local/mysql # chown –R mysql /usr/local/mysql 権限を設定します (9) # adduser mysql mysql ユーザーを追加します (10) # cd /etc/rc.d/init.d # cp /root/mysql-3.23.46/support-files/mysql.server mysql # chmod +x mysql 実行権限を増やす (11) # /sbin/chkconfig –del mysql # /sbin/chkconfig –add mysql chkconfig を実行し、mysql をシステムのスタートアップ サービス グループに追加します (12) # reboot Linux サーバーを再起動します (13) # cd /usr/local/mysql/bin #./mysql MySQL を入力します (14) mysql >データベースを表示 | +----------+ |セット内の 2 行 (0.11 秒) MySQL に存在するライブラリを表示します (15) mysql>use mysql mysql という名前のライブラリを入力します (16) mysql>grant all on *.* to admin@'%' to '422817 '; Setユーザーとパスワード (17) mysql>quit Bye MySQL を終了します (18) # ./mysql –u root admin –p パスワードを入力してください: 設定したユーザーとパスワードに従って MySQL を入力してください。この時点で、MySQL のインストールとテストが完了しました。成功。次のステップでは、前にバックアップしたライブラリ ファイルをインポートします。 MySQL-Front も使用されます。 ただし、以前のライブラリ ファイルをインポートする場合は、最初にデータベースを作成する必要があり、その名前は以前と同じである必要があることに注意してください。 2. Apache: 今回は Linux サーバー全体がアップグレードされましたが、最終的な結果として、Apache は依然として元のバージョンを使用しています。ただし、ここで、RPM パッケージとしての Apache のインストール プロセスについて触れておきます。まず、Linux 6.02 の以前の CD を「RedHat/RPM」ディレクトリに見つけます。apache-1.3.12-2.i386.rpm ドキュメントという名前のファイルがあります。 。 Linux サーバーには CDROM がないため、使用する方法は上記と同じです。Windows でこのディレクトリにあるファイルをコピーし、LAN 経由で Samba が有効になっているディレクトリにコピーします。 (1) # cp /home/httpd/html/pos/bak/apache-1.3.12-2.i386.rpm /root RPM パッケージファイルをディレクトリ「/root」にコピーします (2) # cd root ルートディレクトリに入ります(3) # rpm –i apache-1.3.12-2.i386.rpm apache-1.3.12-2.i386.rpm パッケージを Linux サーバーにインストールします。デフォルトのインストール パスは ./usr/lib/apache です。バイナリ パッケージの場合、パスは /usr/local/apache である必要があります。 (4) # /etc/rc.d/init.d/httpd start Apache を実行します。以下の結果であれば、正常に起動できています。 httpd の起動: OK ] (5) # ps aux | grep httpd httpd (Apache サーバー) を含むシステム全体の実行中のプログラムをすべて問い合わせます。ルート 1368 0.0 3.4 4560 2196 ? S 16:31 0:00 httpd 誰もいない 1371 0.0 3.6 4668 2280 ? S 16:31 0.0 3.6 4668 2280 ? S 16:31 0:00 httpd 誰もいない373 0.0 3.6 4668 2280 ? S 16:31 0:00 httpd …… (6) Apache が正常に実行されている場合は、他のマシンの IE から Apache のようこそページを参照できます。 この時点で、Apache Web サーバーがインストールされ、正常にテストされます。 3. PHP: (1) # /etc/rc.d/init.d/httpd stop まずは Apache を停止します (2) # cd /root でルートディレクトリに入ります。 (3) # tar –zxvf php-4.0.6.tar.gz 先ほどルートディレクトリに配置したPHP4 tarパッケージを解凍します。 (4) # cd php-4.0.6 解凍後のPHP4のディレクトリに入ります。 (5) # ./configure –apxs=/usr/sbin/apxs >--with-config-file-path=/etc/httpd/conf >--with-mysql=/usr/local/mysql >--with -gd >--with-zlib >--with-system-regex >--enable-ftp PHP を設定します。 ① apxs が別のパスにインストールされている場合は、apxs を指すように「/usr/sbin/apxs」を変更する必要があります。スクリプト プログラムが配置されているパス。通常、バイナリ パッケージの場合、パスは「/usr/local/apache/bin/apxs」ですが、RPM パッケージの場合、パスは「/usr/sbin/apxs」です。 ② PHP を Apache の DSO モジュールとして設定します。設定ファイルは「/etc/httpd/conf」に保存されます (Apache 設定ファイルとともに)。 ③ MySQL が RPM パッケージとしてインストールされている場合は、「--with-mysql=/usr/local/mysql」を変更する必要があります。 "を" --with-mysql"に変更します。 ④ GDライブラリがない場合は、"--with-gd"を解除してください。 ⑤ FTPアップロード機能をサポートしたい場合は、"--enable-ftp"が必要です (6) #コンパイルします。 (7) # make install インストールを行います。 (8) # reboot Fareseverサーバーを再起動します 5. 構成: 構成のこの部分は主に Apache の httpd.conf ファイル用です。これまでアップグレードされていない Apache が PHP4 と PHP4 の両方を解析できる必要があります。 LinuxサーバーのApacheサーバーはRPMにパッケージ化されているため、httpd.confファイルは「/etc/httpd/conf/httpd.conf」に配置されます。 構成ファイルに加えられた編集上の変更は次のとおりです。 1. ファイル内で # LoadModule php3_module modules/libphp3.so を見つけて、次のように変更します。 # LoadModule php4_module /usr/lib/apache/libphp4.so 機能: Apache が以前にロードした PHP3 モジュールを PHP4 モジュールに変更し、その後に次のパスを付けます。モジュールファイル。 2. ファイルを見つけます] # AddModule mod_php3.c これを次のように変更します: # AddModule mod_php4.c 機能: Apache によって以前に追加されたモジュールを PHP3 から PHP4 に変更します。 3. ファイルがあるポート 80 を見つけて、以下のステートメントを追加します: DirectoryIndexindex.htmlindex.shtmlindex.cgiindex.phtmlindex.php3index.phpAddTypeapplication/x-httpd-php.php3AddTypeapplication /x -httpd-php .php AddType application/x-httpd-php-source .phps 機能: PHP3 と PHP4 の両方を解析できる、アップグレードされていない Apache を使用できます。 この時点で、バージョン 1.3.12 の Apache 設定ファイル「/etc/httpd/conf/httpd.conf」が変更されています。 六。 インストール中に考えられるエラー: 1. MySQL: (1) MySQL のインストールが前の手順 (13) に進むと、エラーが発生し、正常に入力できません。 エラーの理由: ポートの設定が正しくありません。 「netstat -t -l -p」コマンドを使用してネットワークのステータスを確認すると、mysql がまったく存在せず、ポート 9999 のみが実行されていることがわかります。 修正方法: ① /usr/local/mysql/bin/safe_mysqld を確認し、MYSQL_TCP_PORT=${MYSQL_TCP_PORT:-9999} という行があるか確認し、MYSQL_TCP_PORT=${MYSQL_TCP_PORT:-3306} に変更します。 ② VI エディタを使用して入力します。表示して変更します。 # vi /usr/local/mysql/bin/safe_mysqld ③ mysqlを再起動 # /etc/rc.d/init.d/mysql.server stop # /etc/rc.d/init.d/mysql.server start (2) MySQL への接続中にエラーが発生しました。opendatabase.php ファイルを 127.0.0.1 に変更するだけで、正常に接続できるようになります。 エラーの理由: 権限の問題。 変更方法: mysql ライブラリの user テーブルで、Host が farserve.fareexpress.com で User が空のレコードを削除します。 2. Apache: 新しいバージョン、つまり Apache 1.3.22 をインストールしようとしましたが、RPM パッケージもバイナリ パッケージも正常にインストールできませんでした。 Linuxのバージョンによるものと思われます。結局、以前のバージョンの Apache を引き続き使用し、RPM パッケージとともにインストールしましたが、問題はありませんでした。 3. PHP: インストールはスムーズに進みました。ただ、インストール後、FareExpress (PHP3) と Power POS Management (PHP4) が IE で閲覧できなくなります。その後、5 番目のポイント「設定」で紹介した Apache の httpd.conf (設定ファイル) が変更されました。ここで紹介を繰り返すつもりはないことは明らかです。