作業環境、テスト環境をすばやくセットアップし、PHP プログラミングの旅を始めましょう。
リュンクス
準備:
1. ファイアウォールを設定し、ポート 80 とポート 3306 を開きます
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #許可ポート80 ファイアウォール経由
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #ポート 3306 のファイアウォール通過を許可します
以下に示すように:
############################ 追加後のファイアウォール ルールは次のようになります。###### #####################
# system-config-firewall によって記述されたファイアウォール構成
# このファイルを手動でカスタマイズすることはお勧めできません。
*filter
: INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp - j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host -禁止
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
############################ ## ############################################## #### ###############
/etc/init.d/iptables restart #最後にファイアウォールを再起動して設定を有効にします
2. SELINUX をオフにする
vi /etc/selinux/config
#SELINUX=enforcing #コメントアウト
#SELINUXTYPE=targeted #コメントアウト
SELINUX=disabled #追加
:wq #保存して閉じる
shutdown - 今すぐ #システムを再起動してください
インストール:
1. Apache をインストールします
yum install httpd #プロンプトに従って、Y を入力してインストールを成功させます
/etc/init.d/httpd start #Apache を起動します
注: Apache は起動後にエラーを表示します:
httpd の起動: httpd: ServerName に ::1 を使用して、サーバーの完全修飾ドメイン名を確実に決定できませんでした
解決策:
vi /etc/httpd/conf/httpd 。 conf #編集
#ServerName www.example.com:80 を見つけます
ServerName www.osyunwei.com:80 に変更します #ドメイン名がない場合は、localhost に設定できます。 :wq!
#保存して終了chkconfig httpd を起動
/etc/init.d/httpd を再起動#Apache を再起動
1. MySQL をインストールします
yum install mysql mysql-server#インストールするかどうかを尋ね、インストールが完了するまで自動的にインストールするには Y を入力します
/etc/init.d/mysqld start #MySQL を開始します
chkconfig mysqld on #起動するように設定します
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #設定ファイルをコピーします
(注: デフォルトで /etc ディレクトリに my.cnf がある場合、直接上書きしてください)
mysql_secure_installation プロンプトに従って Enter を押し、Y を入力します
パスワードを 2 回入力して Enter を押します
プロンプトに従って Y を最後まで入力します
最後に: MySQL をご利用いただきありがとうございます
MySqlのパスワード設定が完了しました。MySQLを再起動します:
/etc/init.d/mysqld restart
#restart
/etc/init.d/mysqld stop #stop
/etc/init.d/mysqld start #start
1. PHP5をインストールします
yum install phpインストールが完了するまで、プロンプトに従って「Y」を入力します
2. PHP5 が MySQL をサポートするように PHP コンポーネントをインストールします
yum
インストール php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear
php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash
libmcrypt
ここで上記のインストール パッケージを選択してインストールします
プロンプトに従って Y を入力し、Enter キーを押します
/etc/init.d/mysqld restart #Restart MySql
/etc/init.d/httpd restart #Restart Apche
設定
1. Apacheの設定
vi /etc/httpd/conf/httpd.conf #Edit file
ServerTokens OS 44行目をServerTokens Prodに変更します(エラーページが表示された場合、サーバーオペレーティングシステムの名前は表示されません) )
ServerSignature On 536行目でServerSignature Off (エラーページにApacheのバージョンを表示しない)に変更
Options Indexes FollowSymLinks 331行目で変更点: Options include ExecCGI FollowSymLinks (サーバーがCGIとSSIを実行できるようにする) 、ディレクトリのリストを禁止します)
#AddHandler cgi-script .cgi 796行目を次のように変更しました:AddHandler cgi-script .cgi .pl (拡張子.plのCGIスクリプトの実行を許可します)
AllowOverride None 338行目を次のように変更しました:AllowOverride All (allow.htaccess)
AddDefaultCharset UTF-8 759行目をAddDefaultCharset GB2312に変更(デフォルトのエンコーディングとしてGB2312を追加)
Options Indexes MultiViews FollowSymLinks 554行目をOptions MultiViews FollowSymLinksに変更(ツリーディレクトリ構造を表示しない)ブラウザ上)
DirectoryIndexindex.htmlindex.html.varは402行目で次のように変更されます: DirectoryIndexindex.htmlindex.htmDefault.htmlDefault.htm
index.php Default.phpindex.html.var (デフォルトのホームページ ファイルを設定し、index.php を追加します)
KeepAlive Off 76 行目を次のように変更します: KeepAlive On (プログラムによるオンライン接続を許可します)
MaxKeepAliveRequests 100 on を変更します83 行目: MaxKeepAliveRequests 1000 (同時接続数を増やす)
:wq! #保存して終了
/etc/init.d/httpd restart #Restart
rm -f /etc/httpd/conf.d/welcome .conf /var/ www/error/noindex.html #デフォルトのテスト ページを削除します
2. PHP 設定
vi /etc/php.ini #Edit
date.timezone = PRC #946 行目の先頭のセミコロンを削除し、date.timezone = PRC
disable_functions に変更します。
=
passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr, checkdnsrr、getservbyname、getservbyport、disk_total_space、posix_ctermid、posix_get_last_error、posix_getcwd、
posix_getegid,posix_geteuid,posix_getgid,
posix_getgrgid、posix_getgrnam、posix_getgroups、posix_getlogin、posix_getpgid、posix_getpgrp、posix_getpid、
posix_getppid、posix_getpwnam、posix_getpwuid、posix_getrlimit、
posix_getsid、posix_getuid、posix_isatty、
posix_kill、posix_mkfifo、posix_setegid、posix_seteuid、posix_setgid、
posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#386 行目に、PHP で無効にできる関数をリストします。一部のプログラムでこの関数を使用する必要がある場合は、削除して無効に戻すことができます。
expose_php = Off #432行目のphpバージョン情報の表示を抑制します
magic_quotes_gpc = On #SQLインジェクションを防ぐために745行目のmagic_quotes_gpcをオンにします
short_open_tag = ON #229行目のphpの短いタグをサポートします
open_basedir = .:/ tmp / # 380 行目の設定は、現在のディレクトリ (つまり、PHP スクリプト ファイルが配置されているディレクトリ) と /tmp/ ディレクトリへのアクセスを許可することを意味します。これにより、PHP トロイの木馬がサイトを通過するのを防ぐことができます。変更後のインストール プログラム (例: DreamWeaver コンテンツ管理システム) に問題がある場合は、この行からログアウトするか、プログラム ディレクトリ /data/www.osyunwei.com/:/tmp/
:wq! に直接書き込むことができます。 #保存して終了
/etc/init.d/mysqld restart #MySqlを再起動
/etc/init.d/httpd restart #RestartApche
テスト記事
cd /var/www/html
viindex.php #次の内容を入力してください
phpinfo();
?>
:wq!クライアント ブラウザにサーバーの IP アドレスを入力すると、次の図に示すように、関連する構成情報が表示されます。