源代碼安裝軟件
要確定本機的gcc是安裝了的!否則沒辦法從源代碼安裝。
redhat-config-packages 可以從光盤安裝gcc!
vi 1.c
main()
{
printf("Hello c/n");
}
編譯的時候輸入:gcc -o 1.exe 1.c
運行的時候輸入:./1.exe (只輸入1.exe也是可以的。)
如果 gcc file.c ,那麼生成的是a.out
擴展名可以任意,Linux不會通過擴展名來判斷是否是可執行文件,而是通過權限判斷。
===================================================================
Linux權限: 讀 寫 執行
讀:r (read)
寫:w (write)
執行:x (execute)
賦予權限要針對三個用戶(文件所有者、文件所屬組、除了文件所有者和文件所屬組之外的其他用戶)
每一類用戶都有讀、寫、執行三類權限。
ls -l顯示當前用戶
可以看到類似下面的字符串:
-rwxr-xr-x
第一個字符是-,所以是文件(如果是d,則代表是目錄)
rwxr-xr-x
rwx是說文件所有者具備所有權限
r-x是說文件所屬組不具備寫權限
r-x是說其他用戶不具備寫權限
修改文件權限:
文件所有者: u 文件所屬組: g 其他用戶: o
chmod u+x f2 給f2文件的文件所有者賦予執行權限!(這樣就可以直接輸入2.txt觀察執行結果了)
chmod u-x f2 給f2文件的文件所有者剝奪執行權限!
對於管理員用戶來說,即便沒有設置文件讀的權限,也是可以讀的。
chmod u+x,g+x,o+x f2 (賦予多個權限的時候用逗號分隔)
在默認情況下,一個文件創建出來後,權限是這麼分配的……
所有者:讀寫權限
所屬組:讀權限
其他用戶:讀權限
r:4、
w:2
x:1
如果用數字來表示權限的話,就像上面那樣
如果用數字授予權限的話:chmod 744 文件名
也就是說,默認情況下的文件所有者權限應該是6,文件所屬組的權限是4,其他用戶的權限是4
也就是644
現在賦予文件所有者執行的權限,意味着給6加上1,所以是744
如果賦予文件所有的權限,那就是chmod 777 文件名
==========================================================================
tar -xzvf qq.tar.gz
解壓qq軟件包,解開壓縮包後得到gaim-cvs-0218-qq-0.2.5
由於.c文件太多了,所以不能直接用gcc編譯,應該使用make
同理如果很多的java文件的話,也不會使用javac ,而是ant管理工具
在這之前得先在圖形化界面的終端裏面輸入redhat-config-packages來進入添加刪除
程序界面,把所有的開發工具的鉤都打上,然後更新,大概要600MB左右,期間頻繁的在
光盤2和光盤3之間切換……
第一步:進入qq主目錄,先生成配置文件
./configure --prefix=/qq
生成配置文件,把配置文件放到根目錄下的qq文件夾中!
然後輸入make
然後再輸入make install
=================================================================
進入apache目錄:然後輸入 ./configure --prefix=/usr/local/apache2
然後還是老樣子,make完了之後make install就可以了。需要注意的是apache的配置
在桌面上建立快捷方式:郵件單擊新建啓動器,注意要在命令中選中具體的目錄中的命令
cd /usr/local/apache2
bin/apachectl start :啓動apache
apache2中的htdocs目錄用來放置網頁文件……
在htdocs中新建一個1.html後,輸入一些東西,然後訪問
http://162.105.81.??/1.html
就可以了。
默認情況下htdocs中是沒有首頁文件的,你給它新建一個index.html就行了,以後
輸入http://162.105.81.??
就可以得到那個index.html了。
如果要建立真實目錄的話需要建立在htdocs中……
mkdir news
然後在裏面建立一個index.html就行了
這樣就可以通過http://162.105.81.??/news來訪問了。
但是虛擬目錄呢?也就是說如果工程文件在其他位置,又想訪問到的話,這時候如果不配置
虛擬路徑的話肯定是訪問不了的。
配置虛擬目錄(不在htdocs下的資源)的時候,需要修改apache的配置文件,這和tomcat一樣。
cd /usr/local/apache2/conf中的httpd.conf是很重要的配置文件
vi httpd.conf
然後在命令模式中使用/Alias命令找到類似下面的指令,然後8yy複製8行,然後按p粘貼。
/Alias /abc/ "/web1/"
<Directory "/web1">
……………………
保存後,使用bin/apachectl restart重啓apache就可以訪問了……
訪問的時候Http://162.105.81.??/abc/
不要忘記最後一個"/"!!!當然更別忘了裏面得給一個index.html!!
如果配置文件要是寫成:
Alias /abc "/usr/local/apache2/aaa/"
<Directory "/usr/local/apache2/aaa">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
訪問的時候就不用最後的/了,直接就是abc就可以了,注意
/usr/local/apache2/aaa/是真實文件存儲的路徑!/abc是訪問的時候
在地址欄裏面輸入的
========================================================
下面說說虛擬主機,這還需要DNS服務器纔可以
虛擬主機:在一臺物理機器上可以發佈多個web服務器。
要麼基於ip,要麼基於端口,前兩種都不怎麼實在,一般都是基於名稱(域名)
還得用redhat-config-packages命令在圖形化界面裏面裝DNS服務器。
裝完後就有了這個配置文件:
/etc/named.conf
首先修改這個配置文件
加入:
zone "yuanbin.com" IN{
type master ;
file "yuanbin.com"
}; //正向文件:由域名找ip
zone "81.105.162.in-addr.arpa" IN {
type master ;
file "yuanbin.com1"
} ; //反向文件:由ip找域名,一個網段只能寫一個反向文件!!!
注意上面的兩個file名字是任意起的,但是一定不可以一樣!!
然後到/var/named裏面
cp localhost.zone yuanbin.com
cp named.local yuanbin.com1
然後得分別修改yuanbin.com和yuanbin.com1兩個文件!
-------------------------------------------------------------
上面的過程有點亂,linux中這裏配置虛擬主機的過程再說一遍:
/etc中的named.conf和resolv.conf是需要更改的
首先更改resolv.conf其實這裏就是把DNS改爲本機的linux的ip地址,當然
你也可以在圖形化界面裏面的終端中通過使用netconfig來更改,都是一樣的,
這一步非常容易被忽略掉,所以最好先做!!
主要是/etc/named.conf的更改,這裏需要注意添加上面所寫的兩段zone代碼,
它們添加的位置應該在name.conf原始文件中所有zone代碼的最後。
裏面的兩個file名字是不可以相同的,但是可以任意命名,然後這兩個文件還得修改,
所以千萬不要給搞反了!!這裏有一點還需要特別注意:反向文件(也就是由ip找域名的
那段代碼,每個機器在一個網段中只能寫一個!由域名找ip的正向文件可以寫多個,比如
yuanbin.com、sina.com、xiaohong.com等等)
這裏還多說一句,反向文件代碼可以不設的,但是一般都設,如果你不設定的話,ping的
時候速度會非常非常的慢!!
之後就是要編輯正向和反向兩個文件了,在/var/named目錄裏面有兩個文件,localhost.zone
和named.local,分別是正向文件和反向文件的模版,於是利用
cp localhost.zone yuanbin.com
cp named.local yuanbin.com1
把模版分別拷貝到你自己的正向和反向文件裏面,然後通過vi做一下修改就可以。
修改後的一個樣板如下:
正向文件:
$TTL 86400
@ IN SOA www.yuanbin.com. root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS www.yuanbin.com.
www IN A 162.105.81.111
反向文件:
$TTL 86400
@ IN SOA www.yuanbin.com. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS www.yuanbin.com.
111 IN PTR www.yuanbin.com.
嚴格按照上面的樣子修改你自己的正向和反向文件,保存退出後使用命令:
service named start
啓動DNS服務器
然後使用命令 ping www.yuanbin.com 應該就可以得到結果了!
其實比較容易忽略的過程有兩個:一個是忘了啓動dns服務器,一個是忘了把自己linux
網絡環境的DNS服務器地址設置爲本機linux網絡環境的ip。
注意以上兩個問題,再加上修改文件和添加zone代碼的時候小心一些就沒問題了。
確實,很難把它弄對,這裏確實是考驗耐心的地方……
------------------------------------------------------------------
配置虛擬主機:
上面建立了一個www.yuanbin.com
爲了後面方便用同樣的方法建立www.wangzhiyuan.com
和www.zhaoming.com
(注意由於已經有了反向文件,所以只需要建立兩個對應的正向文件就可以了)
有了三個區域之後就可以在自己這個機器上面配多個網站了。
在根目錄下建立web目錄,然後在裏面建立yuanbin、wangzhiyuan和zhaoming
三個web站點的文檔目錄。別忘了分別在這三個文件夾裏面建立首頁文件index.html
下面要更改的是配置文件
首先: vi /usr/local/apache2/conf/httpd.conf
將下面這句話取消註釋
NameVirtualHost 162.105.81.111:80
然後在文件的最後根據註釋部分更改出如下三個片段添加到httpd.conf的最後
<VirtualHost 162.105.81.111:80>
ServerAdmin [email protected]
DocumentRoot /web1/zhaoming
ServerName www.zhaoming.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost 162.105.81.111:80>
ServerAdmin [email protected]
DocumentRoot /web1/yuanbin
ServerName www.yuanbin.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost 162.105.81.111:80>
ServerAdmin [email protected]
DocumentRoot /web1/wangzhiyuan
ServerName www.wangzhiyuan.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
重啓apache:/usr/local/apache2/bin/apachectl restart
然後如果你要用window來驗證的話,別忘了把windows的DNS服務器也改爲Linux本機
的ip地址!!還有一點一定要注意,如果有代理的話一定要去掉!!!!