DefaultLinuxTexProgrammingLifeOtherubuntu 下php的安裝配置安裝配置php+mysql
安裝 Apache2:sudo apt-get install apache2安裝PHP模組:sudo apt-get install php5 php5-gd php5-cli編輯測試頁:()sudo gedit /var/www/testphp.php安裝Mysqlsudo apt-get install mysql-servermysqladmin -u root password db_user_password#db_user_password替換為密碼安裝Mysql模組sudo apt-get install libapache2-mod-auth-mysqlsudo apt-get install php5-mysqlsudo apt-get install php5-gdsudo /etc/init.d/apache2 restart配置php.ini:sudo gedit /etc/php5/apache2/php.ini把檔案在檔案後面的:#extension=mysql.so#extension=gd.so的#去掉。安裝phpmyadminsudo apt-get install phpmyadmin測試:http://localhost/phpmyadmin/注意了這個時候可能會失敗,需要這個命令:sudo ln -s /usr/share/phpmyadmin/ /var/www/重起apachesudo /etc/init.d/apache2 restart
過程中可能出現的問題
# mysql -uroot -pEnter password:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)使用網上介紹的方法修改root使用者的密碼:# mysqladmin -uroot -p password 'newpassword'Enter password:mysqladmin: connect to server at 'localhost' failederror: 'Access denied for user 'root'@'localhost' (using password: YES)'
方法一:
# /etc/init.d/mysql stop# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &# mysql -u root mysqlmysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';mysql> FLUSH PRIVILEGES;mysql> quit# /etc/init.d/mysql restart# mysql -uroot -pEnter password: <輸入新設的密碼newpassword>mysql>
方法二:
直接使用/etc/mysql/debian.cnf檔案中[client]節提供的使用者名稱和密碼:# mysql -udebian-sys-maint -pEnter password: <輸入[client]節的密碼>mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';mysql> FLUSH PRIVILEGES;mysql> quit# mysql -uroot -pEnter password: <輸入新設的密碼newpassword>mysql>quit
過程中可能出現的問題
為什麼開啟http://localhost/phpmyadmin/ 出現錯誤
Not Found The requested URL/phpmyadmin/was not found on this server. Apache/2.2.9(Ubuntu) PHP/5.2.6-2ubuntu4 with Suhosin-Patch Server at localhost Port 80
這個是因為:phpmyadmin的預設安裝路徑不是在/var/www/(/var/www/是你的web服務網站的根目錄),所以建一個軟串連就可以了。上述命令是在/var/www/下建一個phpmyadmin的軟連結。 解決方案如下:
sudo ln -s /usr/share/phpmyadmin/ /var/www/
如何使用php
注意了,.php檔案是一種需要伺服器來解釋的檔案,而不是直接在本地的機器上就可以直接啟動並執行程式,一般的,你 可以使用apache伺服器,或者是asii伺服器來解讀它。比如,我是這樣弄的,在本地的主機上安裝了apache,然後
使用
sudo /etc/init.d/apache2 start
開啟了本地的伺服器之後,然後就可以http://localhost/ 來訪問本地的伺服器了,然後就可以開啟本機伺服器的目錄下面的 hello.php ,也就是http://localhost/hello.php
localhost在本地的地址是 /var/www
Apache 的基本認證
首先需要確定你想要設定使用者認證的檔案夾,假設為/var/www/test/。
在/etc/apache2/apache2.conf檔案中配置AccessFIleName .htaccess前面的注釋符號去掉,
然後在設定檔apache2.conf或者是httpd.conf中加入內容 如下
<Directory "/var/www/test/">Options Indexes MultiViewsAllowOverride AuthConfigAllow from all</Directory>
然後在/var/www/test/檔案夾下建立.htaccess檔案,檔案內容為
AuthName "You need to have the privilege to view this page ,Please log in : AuthType BasicAuthUserFile /etc/apache2/authpwd Require user maturn test #maturn
建立口令檔案 並且為使用者佈建口令,輸入命令
htpasswd -c /etc/apache2/authpwd maturn
認證工作基本完成,下面在瀏覽器中輸入 localhost/test 來驗證是否成功
Updated: 2010-02-20 |
Index |
|