程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 再不寫,我怕就再也不寫了-LAMP基礎,也不-lamp基礎

再不寫,我怕就再也不寫了-LAMP基礎,也不-lamp基礎

編輯:關於PHP編程

再不寫,我怕就再也不寫了-LAMP基礎,也不-lamp基礎


  hi

經歷了4天大餐的洗禮,整個人都思密達了。。。昨天的懶,是沒有原因的懶,總之就是該提筆了親

1、Ubuntu下的LAMP配置

-----Ubuntu基礎知識-----

----管理員權限

出於安全,Ubuntu不推薦使用root賬戶遠程登錄-強制使用其他普通賬戶

由於普通賬戶沒有超級管理員權限,默認情況下又不能使用root賬戶登錄(遠程等),所以需要用到這麼兩條命令

su(Switch User)切換到超級管理員

sudo(Switch User and DO)以超級管理員身份執行

兩者是有本質區別的-前者是“老大”(root)出馬,必須用root密碼,直到exit才退出;後者是“小弟”請求老大給予准許,並且是臨時的權限,密碼只用普通的就行

----預備知識

liang@liang-andy:~             $

用戶名@主機名:當期目錄 用戶類型標記

其中,$表示普通用戶,#表示超級管理員

---

liang@liang-andy:~$ pwd
/home/liang
~表示現在正處於當前用戶的個人文件夾中,pwd命令可以給出實際目錄

---

下面演示這兩個命令:修改root密碼

liang@liang-andy:~$ sudo passwd root
[sudo] password for liang:
輸入新的 UNIX 密碼:
重新輸入新的 UNIX 密碼:
passwd:已成功更新密碼
liang@liang-andy:~$
然後是su

liang@liang-andy:~$ su
密碼:
root@liang-andy:/home/liang#
注意看目錄路徑已經變了,還有就是#

----apt-get軟件安裝工具

主要作用就是獲取軟件列表apt-get update和軟件安裝apt-get install

----其他必要命令學習

http://itlab.idcquan.com/linux/special/linuxcom/

---

名稱 : ls
  
  使用權限 : 所有使用者
  
  使用方式 : ls [-alrtAFR] [name...]
  
  說明 : 顯示指定工作目錄下之內容(列出目前工作目錄所含之檔案及子目錄)。
  
  參數 :
  
  -a 顯示所有檔案及目錄 (ls內定將檔案名或目錄名稱開頭為"."的視為隱藏檔,不會列出)
  -l 除檔案名稱外,亦將檔案型態、權限、擁有者、檔案大小等資訊詳細列出
  -r 將檔案以相反次序顯示(原定依英文字母次序)
  -t 將檔案依建立時間之先後次序列出
  -A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)
  -F 在列出的檔案名稱後加一符號;例如可執行檔則加 "*", 目錄則加 "/"
  -R 若目錄下有檔案,則以下之檔案亦皆依序列出
  
  范例:
  列出目前工作目錄下所有名稱是 s 開頭的檔案,愈新的排愈後面 :
   ls -ltr s*
  
  將 /bin 目錄以下所有目錄及檔案詳細資料列出 :
   ls -lR /bin
  
  列出目前工作目錄下所有檔案及目錄;目錄於名稱後加 "/", 可執行檔於名稱後加 "*" :
   ls -AF

---

ll會列出該文件下的所有文件信息,包括隱藏的文件,而ls -l只列出顯式文件,說明這兩個命令還是不等同的!

---

  指令名稱 : ln
  
  使用權限 : 所有使用者
  
  使用方式 : ln [options] source dist,其中 option 的格式為 :
  
  [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
  [--help] [--version] [--]
   說明 : Linux/Unix 檔案系統中,有所謂的連結(link),我們可以將其視為檔案的別名,而連結又可分為兩種 : 硬連結(hard link)與軟連結(symbolic link),硬連結的意思是一個檔案可以有多個名稱,而軟連結的方式則是產生一個特殊的檔案,該檔案的內容是指向另一個檔案的位置。硬連結是存在同一個檔 案系統中,而軟連結卻可以跨越不同的檔案系統。
  ln source dist 是產生一個連結(dist)到 source,至於使用硬連結或軟鏈結則由參數決定。
  
  不論是硬連結或軟鏈結都不會將原本的檔案復制一份,只會占用非常少量的磁碟空間。
  
  參數 :
  
   -f : 鏈結時先將與 dist 同檔名的檔案刪除-d : 允許系統管理者硬鏈結自己的目錄-i : 在刪除與 dist 同檔名的檔案時先進行詢問-n : 在進行軟連結時,將 dist 視為一般的檔案-s : 進行軟鏈結(symbolic link)-v : 在連結之前顯示其檔名-b : 將在鏈結時會被覆寫或刪除的檔案進行備份-S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾-V METHOD : 指定備份的方式--help : 顯示輔助說明--version : 顯示版本
  范例 :
  將檔案 yy 產生一個 symbolic link : zz
   ln -s yy zz
  
  將檔案 yy 產生一個 hard link : zz
   ln yy xx

---

  名稱 : cd
  
  使用權限 : 所有使用者
  
  使用方式 : cd [dirName]
  
  說明 : 變換工作目錄至 dirName。 其中 dirName 表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home directory (也就是剛 login 時所在的目錄)。
  
  另外,"~" 也表示為 home directory 的意思,"." 則是表示目前所在的目錄,".." 則表示目前目錄位置的上一層目錄。
  
  范例 : 跳到 /usr/bin/ :
   cd /usr/bin
  
  跳到自己的 home directory :
   cd ~
  
  跳到目前目錄的上上兩層 :
   cd ../..
  
   cd - 返回進入當前目錄前所在目錄

 

 

名稱:cp
  
  使用權限:所有使用者
  
  使用方式:
  
  cp [options] source dest
  cp [options] source... directory
  
  說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。 (copy)
  
  參數:
  
  -a 盡可能將檔案狀態、權限等資料都照原狀予以復制。
  -r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。
  -f 若目的地已經有相同檔名的檔案存在,則在復制前先予以刪除再行復制。
  范例:
  將檔案 aaa 復制(已存在),並命名為 bbb :
   cp aaa bbb

       也就是 sudo cp document_A document_B
  
  將所有的C語言程序拷貝至 Finished 子目錄中 :
   cp *.c Finished

---

  名稱:mv
  
  使用權限:所有使用者
  
  使用方式:
  
  mv [options] source dest
  mv [options] source... directory
  說明:將一個檔案移至另一檔案,或將數個檔案移至另一目錄。
  參數:-i 若目的地已有同名檔案,則先詢問是否覆蓋舊檔。
  
  范例:
  
  將檔案 aaa 更名為 bbb :
   mv aaa bbb
  
  將所有的C語言程序移至 Finished 子目錄中 :
   mv -i *.c

---

  名稱:rm
  
  使用權限:所有使用者
  
  使用方式:rm [options] name...
  
  說明:刪除檔案及目錄。
  
  參數:
  
  -i 刪除前逐一詢問確認。
  -f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。
  -r 將目錄及以下之檔案亦逐一刪除。
  范例:
  刪除所有C語言程序檔;刪除前逐一詢問確認 :
   rm -i *.c
  
  將 Finished 子目錄及子目錄中所有檔案刪除 :
   rm -r Finished

---

  名稱: mkdir
  
  使用權限:於目前目錄有適當權限的所有使用者
  
  使用方式:mkdir [-p] dirName
  
  說明:建立名稱為 dirName 之子目錄。
  
  參數:-p 確保目錄名稱存在,不存在的就建一個。
  
  范例:
  
  在工作目錄下,建立一個名為 AAA 的子目錄 :
   mkdir AAA
  
  在工作目錄下的 BBB 目錄中,建立一個名為 Test 的子目錄。若 BBB 目錄原本不存在,則建立一個。(注:本例若不加 -p,且原本 BBB目錄不存在,則產生錯誤。)
   mkdir -p BBB/Test

---

  名稱:rmdir
  
  使用權限:於目前目錄有適當權限的所有使用者
  
  使用方式: rmdir [-p] dirName
  
  說明: 刪除空的目錄。
  
  參數: -p 是當子目錄被刪除後使它也成為空目錄的話,則順便一並刪除。
  
  范例:
  
  將工作目錄下,名為 AAA 的子目錄刪除 :
   rmdir AAA
  
  在工作目錄下的 BBB 目錄中,刪除名為 Test 的子目錄。若 Test 刪除後,BBB 目錄成為空目錄,則 BBB 亦予刪除。
   rmdir -p BBB/Test

---

chmod----改變一個或多個文件的存取模式(mode)   chmod [options] mode files   只能文件屬主或特權用戶才能使用該功能來改變文件存取模式。mode可以是數字形式或以who opcode permission形式表示。who是可選的,默認是a(所有用戶)。只能選擇一個opcode(操作碼)。可指定多個mode,以逗號分開。   options:   -c,--changes 只輸出被改變文件的信息   -f,--silent,--quiet 當chmod不能改變文件模式時,不通知文件的用戶   --help 輸出幫助信息。   -R,--recursive 可遞歸遍歷子目錄,把修改應到目錄下所有文件和子目錄   --reference=filename 參照filename的權限來設置權限   -v,--verbose 無論修改是否成功,輸出每個文件的信息   --version 輸出版本信息。   who   u 用戶   g 組   o 其它   a 所有用戶(默認)   opcode   + 增加權限   - 刪除權限   = 重新分配權限   permission   r 讀   w 寫   x 執行   s 設置用戶(或組)的ID號   t 設置粘著位(sticky bit),防止文件或目錄被非屬主刪除   u 用戶的當前權限   g 組的當前權限   o 其他用戶的當前權限   作為選擇,我們多數用三位八進制數字的形式來表示權限,第一位指定屬主的權限,第二位指定組權限,第三位指定其他用戶的權限,每位通過4(讀)、2(寫)、1(執行)三種數值的和來確定權限。如6(4+2)代表有讀寫權,7(4+2+1)有讀、寫和執行的權限。   還可設置第四位,它位於三位權限序列的前面,第四位數字取值是4,2,1,代表意思如下:   4,執行時設置用戶ID,用於授權給基於文件屬主的進程,而不是給創建此進程的用戶。   2,執行時設置用戶組ID,用於授權給基於文件所在組的進程,而不是基於創建此進程的用戶。   1,設置粘著位。   實例:   $ chmod u+x file                      給file的屬主增加執行權限 $ chmod 751 file                      給file的屬主分配讀、寫、執行(7)的權限,給file的所在組分配讀、執行(5)的權限,給其他用戶分配執行(1)的權限 $ chmod u=rwx,g=rx,o=x file      上例的另一種形式 $ chmod =r file                     為所有用戶分配讀權限 $ chmod 444 file                   同上例 $ chmod a-wx,a+r   file          同上例 $ chmod -R u+r directory           遞歸地給directory目錄下所有文件和子目錄的屬主分配讀的權限 $ chmod 4755                            設置用ID,給屬主分配讀、寫和執行權限,給組和其他用戶分配讀、執行的權限。

-----搭建LAMP環境-----

----用apt-get安裝Apache MySQL PHP

apt-get有個特性,就是安裝東西會把相關的一些東西一起裝

---

liang@liang-andy:~$ sudo apt-get install apache2

安裝apache,然後輸入密碼(普通用戶)以及y,輸入以下命令,表示安裝成功
liang@liang-andy:~$ apache2 -v
Server version: Apache/2.4.7 (Ubuntu)
Server built:   Oct 14 2015 14:18:49
然後輸入ifconfig得到ip地址

(我這裡是)192.168.1.100得到It works頁面驗證成功
---

安裝PHP

liang@liang-andy:~$ sudo apt-get install php5
liang@liang-andy:~$ php5 -v
PHP 5.5.9-1ubuntu4.14 (cli) (built: Oct 28 2015 01:32:13)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
然後加載/檢查php5.load這個php實現對apache2操作的模塊(先不管為什麼,先這麼干就行)
liang@liang-andy:~$ cat /etc/apache2/mods-enabled/php5.load
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
---

安裝MySQL

liang@liang-andy:~$ sudo apt-get install mysql-server
這個不需要驗證版本,但同樣要檢查php操作mysql的模塊

liang@liang-andy:~$ cat /etc/php5/mods-available/mysql.ini
cat: /etc/php5/conf.d/mysql.ini: 沒有那個文件或目錄

注意,這裡我用的Ubuntu是14ls的版本,12的cat目錄是不一樣的/etc/php5/conf.d/mysql.ini

這裡,由於php默認不安裝mysql的拓展,所以需要手動安裝

liang@liang-andy:~$ sudo apt-get install php5-mysql
liang@liang-andy:~$ cat /etc/php5/mods-available/mysql.ini
; configuration for php MySQL module
; priority=20
extension=mysql.so
這樣就可以了,然後重啟mysql以及apache2

liang@liang-andy:~$ sudo service mysql restart
liang@liang-andy:~$ sudo service apache2 restart
---

一次性安裝:上面是分過程,下面一條給出一次性安裝

sudo apt-get install apache2 php5 mysql-server php5-mysql

----創建phpinfo探針

先裝vim

sudo apt-get install vim

再切換到php的www文件夾,用cd命令

cd /var/www/html(14.4版本)

然後在這裡創建一個php文件

sudo vim info.php

寫php代碼

<?php
echo mysql_connect('localhost','root','hanhan123') ? 'Hoho' : 'WTF';

phpinfo();
然後esc鍵,輸入:wq保存退出

http://192.168.1.100/info.php 浏覽器輸入驗證結果

 

 

Linux原來如此但疼,不寫了,明天見

 

 

 

 

 

 

 

 

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved