FreeBSD 9.0-releases 安裝 Perl5.8 + Sudo + Openssh + Mysql50-server + Apache20 + Php5 + Php5-extensions + ImageMagick
2012.08.19(週日)PM 1:30 整理建置完成。
==================================================================================================================================================
開始安裝:THE START
==================================================================================================================================================
1、安裝好 FreeBSD 9.0-release
2、網路校時:ntpdate time.stdtime.gov.tw
3、把使用者加入到 wheel 群組,才能遠端登入。
# ee /etc/group
wheel:*:0:root,user
4、修改/etc/make.conf 在最前面加入
# ee /etc/make.conf
WITHOUT_X11=YES //安裝的時候才不會把X-Windows 相關的程式加進來。
SUP_UPDATE=yes
SUP=/usr/local/bin/csup //用於使用 Ports 安裝的路徑
SUP=/usr/bin/csup //用於 Base System 的路徑
SUPFLAGS= -g -L 2
SUPHOST=cvsup.tw.FreeBSD.org
SUPFILE= /usr/share/examples/cvsup/stable-supfile
PORTSSUPFILE=/usr/share/examples/cvsup/ports-supfile
MASTER_SITE_BACKUP?= \
ftp://ftp7.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp5.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp10.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp13.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp14.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp15.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp9.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp2.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp12.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp6.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp11.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp8.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp3.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp4.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}
5、用 portsnap 更新所有 port tree
# ee /etc/portsnap.conf
SERVERNAME=portsnap.FreeBSD.org //預設值
SERVERNAME=portsnap.tw.FreeBSD.org //修改為離我們較近的主機
SERVERNAME=portsnap.webamp.cc //或使用 Giga WebAMP 所提供的 Portsnap Proxy
第一次使用 Portsnap 時需先取得 Ports System 的 Snapshot 並解開,鍵入如下指令即可:
# portsnap fetch extract
第二次以後就用下列的指令就行了:
# portsnap fetch update
6、Perl5.8-->> perl-5.8.9_7
# cd /usr/ports/lang/perl5.8
# make ENABLE_SUIDPERL=yes install clean
//Options 選下列一項:
[X] SUIDPERL Build set-user-id suidperl binary
# rehash
# sync;sync;sync;reboot (要重新開機)
ENABLE_SUIDPERL=yes // 此選項用於安裝:Openwebmail
7、sudo-->> sudo-1.8.5.p2
# cd /usr/ports/security/sudo
# make install clean
# rehash
# visudo
加入下列兩行:
User_Alias ADMIN = user
ADMIN ALL=(ALL) NOPASSWD : ALL
( 退出重新進入就可以用 sudo su - 而不用打 root 密碼了。)
8、Openssh-->> openssh-portable-5.8.p2_3,1
# cd /usr/ports/security/openssh-portable
# make install clean
//Options 預設的就好了。
# rehash
//安裝完後的訊息如下:
To enable this port, add openssh_enable="YES" in your rc.conf. To
prevent conflict with openssh in the base system add sshd_enable="NO"
in your rc.conf. Also you can configure openssh at another TCP port (via
sshd_config 'Port' and 'Listen' options or via 'openssh_flags'
variable in rc.conf) and run it in same time with base sshd.
'PermitRootLogin no' is the default for the OpenSSH port.
This now matches the PermitRootLogin configuration of OpenSSH in
the base system. Please be aware of this when upgrading your
OpenSSH port, and if truly necessary, re-enable remote root login
by readjusting this option in your sshd_config.
Users are encouraged to create single-purpose users with ssh keys
and very narrowly defined sudo privileges instead of using root
for automated tasks.
# ee /usr/local/etc/ssh/sshd_config
加入下列三行:
Port 22 //( port 號可以自己改變)
Protocol 2
AllowUsers user
ee /etc/rc.conf
加入下列二行:
sshd_enable="NO"
openssh_enable="YES"
# sync;sync;sync;reboot //(重新開機)
9、Mysql50-server -->> mysql-server-5.0.95
# cd /usr/ports/databases/mysql50-server
# make WITH_CHARSET=big5 WITH_XCHARSET=all install clean
//Options 預設的就好了。
# rehash
You may use the following build options:
WITH_CHARSET=charset Define the primary built-in charset (latin1).
WITH_XCHARSET=list Define other built-in charsets (may be 'all').
WITH_COLLATION=collate Define default collation (latin1_swedish_ci).
WITH_OPENSSL=yes Enable secure connections.
WITH_LINUXTHREADS=yes Use the linuxthreads pthread library.
WITH_PROC_SCOPE_PTH=yes Use process scope threads
(try it if you use libpthread).
BUILD_OPTIMIZED=yes Enable compiler optimizations
(use it if you need speed).
BUILD_STATIC=yes Build a static version of mysqld.
(use it if you need even more speed).
WITHOUT_THR_ALARM=yes Disable signals (this reduces kernel lock
contention on SMP, but has the side effect
that you can't kill clients that are sleeping).
WITHOUT_INNODB=yes Disable support for InnoDB table handler.
WITH_ARCHIVE=yes Enable support for Archive Storage Engine.
WITH_CSV=yes Enable support for CSV Storage Engine.
WITH_FEDERATED=yes Enable support for Federated Storage Engine.
WITH_NDB=yes Enable support for NDB Cluster.
===> Extracting for mysql-server-5.0.95
//make WITH_CHARSET=utf8 WITH_XCHARSET=all WITH_COLLATION=utf8_unicode_ci BUILD_OPTIMIZED=yes install clean
移除 OR 重裝 時所下的命令:
# cd /usr/ports/databases/mysql51-server
# make WITH_CHARSET=big5 WITH_XCHARSET=all BUILD_OPTIMIZED=yes install FORCE_PKG_REGISTER="yes" clean
# ee /etc/rc.conf
增加一行:
mysql_enable = yes
# /usr/local/etc/rc.d/mysql-server start 啟動 mysql
# mysqladmin -u root -p password '新密碼'
Enter password:
(第一次安裝沒密碼,所以打 Enter 就行了。)
# sync;sync;sync;reboot
10、Apache20 -->> apache-2.0.64_3
# cd /usr/ports/www/apache20
# make install clean
# rehash
11、Php5 -->> php5-5.4.5
# cd /usr/ports/lang/php5
# make config install clean
# rehash
記得要勾選此兩項選項喔,不然 Apache 會不認得 PHP
[X] APACHE Build Apache module
[X] IPV6
***************************************************************
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
***************************************************************
# ee /usr/local/etc/apache2/httpd.conf
加兩行:
AddType application/x-httpd-php .php .php3
AddType application/x-httpd-php-source .phps
原來的設定:
# DirectoryIndex index.html index.html.var
# 101.08.14 new 修改後的:
DirectoryIndex index.php index.php3 index.htm index.html
12、Php5-extensions -->> php5-extensions-1.7
# cd /usr/ports/lang/php5-extensions
# make config install clean
# rehash
//Options 選下列 9 項:
[X] EXIF
[X] GD
[X] GETTEXT
[X] MBSTRING
[X] MCRYPT
[X] MYSQL
[X] MYSQLI
[X] ZIP
[X] ZLIB
建議加勾選(一):
CTYPE、EXIF、 GD、ICONV、PCRE、SESSION、
MYSQL、MySQLI、MBSTRING、ZIP、ZLIB
基隆市資訊組長訓練建議的:101.08.14 安裝下列程式。
建議加勾選(二):
BCMATH、BZ2、CALENNDAR、CURL、EXIF、FTP、GD、GETTEXT、ICONV、
MBSTRING、MYSQL、MYSQLI、ODBC、OPENSSL、PDF、SNMP、ZIP、ZLIB
===> Cleaning for php5-ctype-5.4.5
===> Cleaning for php5-dom-5.4.5
===> Cleaning for php5-exif-5.4.5
===> Cleaning for php5-filter-5.4.5
===> Cleaning for php5-gd-5.4.5
===> Cleaning for php5-gettext-5.4.5
===> Cleaning for php5-hash-5.4.5
===> Cleaning for php5-iconv-5.4.5
===> Cleaning for php5-json-5.4.5
===> Cleaning for php5-mbstring-5.4.5
===> Cleaning for php5-mysql-5.4.5
===> Cleaning for php5-mysqli-5.4.5
===> Cleaning for php5-pdo-5.4.5
===> Cleaning for php5-pdo_sqlite-5.4.5
===> Cleaning for php5-phar-5.4.5
===> Cleaning for php5-posix-5.4.5
===> Cleaning for php5-session-5.4.5
===> Cleaning for php5-simplexml-5.4.5
===> Cleaning for php5-sqlite3-5.4.5
===> Cleaning for php5-tokenizer-5.4.5
===> Cleaning for php5-xml-5.4.5
===> Cleaning for php5-xmlreader-5.4.5
===> Cleaning for php5-xmlwriter-5.4.5
===> Cleaning for php5-zip-5.4.5
===> Cleaning for php5-zlib-5.4.5
===> Cleaning for freetype2-2.4.9_1
===> Cleaning for png-1.5.12
===> Cleaning for jpeg-8_3
===> Cleaning for t1lib-5.1.2_1,1
===> Cleaning for oniguruma-4.7.1
===> Cleaning for sqlite3-3.7.13
===> Cleaning for cmake-2.8.8_1
===> Cleaning for cmake-modules-2.8.8
===> Cleaning for php5-extensions-1.7
先複製 php.ini 設定檔,以後就是設定這個檔就行了。
# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
測試 php 有沒有啟動。
# ee /usr/local/www/apache2/data/test.php
內容如下:
<?php phpinfo(); ?> OR <? phpinfo(); ?>
測試網址:http://your ip address/test.php
13、wget -->> wget-1.13.4_1
# cd /usr/ports/ftp/wget
# make install clean
# rehash
14、gnuls -->> gnuls-8.12
cd /usr/ports/misc/gnuls
make install clean
//加一行在最底下,讓目錄變成彩色的:
alias ls 'gnuls --color=auto --show-control-chars'
//不必安裝軟體也可以讓目錄與檔案產生彩色的。
//以下會產生彩色目錄與檔名。而且會補與秀目錄有的字。101.08.19(週日)整理。
# ee /etc/csh.cshrc
setenv LESSCHARSET latin1
setenv LC_TIME C
alias ls env LC_CTYPE=en_US.ISO8859-1 \ls
set dspmbyte=big5
setenv CLICOLOR
set color
setenv LSCOLORS ExGxFxdxCxDxDxBxBxExEx
set autolist
#set nobeep //會發生嗶嗶叫的聲音。
//加下列二行,可以顯示中文檔案與目錄,只要加在/etc/csh.cshrc,不必在/etc/csh.login設定。
# ee /etc/csh.cshrc
setenv LC_CTYPE en_US.ISO8859-1
setenv LANG zh_TW.Big5
# 下面這一行會產生亂碼,所以要拿掉。101.08.19 AM:12:50發現的。
# setenv LC_ALL zh_TW.Big5
15、imageMagick -->> ImageMagick-nox11-6.7.8_6
# cd /usr/ports/graphics/ImageMagick
# make config install clean
# rehash
//預設的就可以了。
//圖形處理工具:
//如果成功可以在系統中找到:convert 這個檔案,它可以產生縮圖功能。
# /usr/local/bin/convert
16、phpmyadmin -->> phpmyadmin-3.5.2_2
# cd /usr/ports/databases/phpmyadmin
# make install clean
# rehash
//預設的就可以了。
//修改phpMyAdmin設定檔
# ee /usr/local/etc/rc.d/httpd.conf
//增加
Alias /phpmyadmin/ “/usr/local/www/phpMyAdmin/"
Options none
AllowOverride Limit //另外可按照軟體開發者建議,進一步限制phpMyAdmin的使用者。
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 .example.com //可以限制 IP 或 網域連線。
# 101.08.19 資料庫。-1
Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"
<Directory "/usr/local/www/phpMyAdmin/">
Options FollowSymLinks MultiViews
DirectoryIndex index.php
AllowOverride None
Order allow,deny
Deny from all
# Allow from your IP or domain //可以限制 IP 或 網域連線。
Allow from all
</Directory>
//修改phpMyAdmin設定檔
# cd /usr/local/www/phpMyAdmin/
# cp ./libraries/config.default.php ./config.inc.php
# ee ./config.inc.php
--> $cfg['Servers'][$i]['auth_type'] = ‘cookie’ ; //原來的。
--> $cfg['Servers'][$i]['auth_type'] = ‘http’ ; //修改後。
==================================================================================================================================================
安裝結束。THE END
==================================================================================================================================================
<p style="color:red;">資料參考來源網址:
<p style="color:blue;"><a href=http://blog.twku.net/2005/10/15/18/>Perl + Mysql + Apache + Php</a>
<p style="color:blue;"><a href=http://bojack.pixnet.net/blog/post/12983723>【FreeBSD】用 Ports 安裝 Apache + PHP + MySQL</a>
<p style="color:blue;"><a href=http://www.twbsd.org/cht/book/index.php?ch=19>第十九章 資料庫系統</a>
<p style="color:blue;"><a href=http://www.wretch.cc/blog/l750516/22148533>freebsd apache22+php5+mysql5 安裝</a>
<p style="color:blue;"><a href=http://cloverhsc.blogspot.tw/2008/10/freebsd-apache-mysql-php.html>FreeBSD 安裝 APACHE + MYSQL + PHP</a>
<p style="color:blue;"><a href=http://dennylin93.wordpress.com/2009/12/18/installing-mysql/>藍天浮雲</a>
<p style="color:blue;"><a href=http://blog.xuite.net/pchuang/e900333?&p=5>ImageMagick Xuite 日誌</a>
<p style="color:blue;"><a href=http://mybsdnote.blogspot.tw/2005/12/imagemagic.html>ImageMagick FreeBSD 記事簿 </a>
<center><p style="color:red;">~~凡走過必留下痕跡~~凡安裝過,必留下記錄~~前人種樹,後人乘涼~~感謝各位網路先進的安裝資料~~</p></center>
==================================================================================================================================================
<p style="color:green;">PHP 小程式:</p>
<p style="color:green;">~PHP 小程式~參考資料來源網址:</p>
<p style="color:blue;"><a href=http://ttrc.tanet.edu.tw/userfiles/file/training98/ttrc20090707PHP+MySQL.pdf>PHP & MySQL 網頁製作</a></p>
<p>今天的日期是: <?php echo date("Y-m-d"); ?> </p>
<p>現在的時間是: <?php echo date("H:i:s"); ?> </p>
<p>現在的日期和時間是: <?php echo date("Y-m-d H:i:s"); ?> </p>
<p style="color:#FF00FF;">今天的日期是:<?php echo date("Y-m-d"); ?> </p>
<p style="color:blue;">現在的時間是: <?php echo date("H:i:s"); ?> </p>
<p><?php $x=date("Y-m-d"); $y=date("H:i:s"); ?></p>
<p>今天的日期是: <?php echo $x; ?> </p>
<p>現在的時間是: <?php echo $y; ?> </p>
<p>~PHP~程式碼啟動了嗎?</p>
<p> <?php phpinfo(); ?> </p>
==================================================================================================================================================
<p style="color:green;">如何在網頁秀出PHP程式碼呢?</p>
<p style="color:green;">~HTML 語法~參考資料來源網址:</p>
<p style="color:blue;"><a href=http://www.me.tnu.edu.tw/study/proj/prj85p101/paper/page03.htm>HTML 文件架構</a></p>
<p style="color:blue;"><a href=http://nknucc.nknu.edu.tw/~jwu/html/htmlch1.htm>第 1 章 HTML 語 法 與 文 章 的 編 排</a></p>
<p style="color:green;">以下是 PHP 小程式碼:</p>
<p>
今天的日期是: <?php echo date("Y-m-d"); ?><br>
<br>
現在的時間是: <?php echo date("H:i:s"); ?><br>
<br>
現在的日期和時間是: <?php echo date("Y-m-d H:i:s"); ?><br>
<br>
<p style="color:green;">今天的日期是:<?php echo date("Y-m-d"); ?><br>
<br>
<p style="color:blue;">現在的時間是: <?php echo date("H:i:s"); ?><br>
<br>
<?php $x=date("Y-m-d"); $y=date("H:i:s"); ?><br>
<br>
今天的日期是: <?php echo $x; ?><br>
<br>
現在的時間是: <?php echo $y; ?><br>
<br>
~PHP~程式碼啟動了嗎?<?php phpinfo(); ?><br>
==================================================================================================================================================
<p style="color:green;">~HTML 特殊字元~參考資料來源網址:</p>
<p style="color:blue;"><a href=http://www.me.tnu.edu.tw/study/proj/prj85p101/paper/page03.htm>HTML 特殊字元</a></p>
<p>HTML特殊字元 HTML字元 實際顯示</p>
& &
" "
< <
> >
代表空白
<p style="color:green;">HTML 特殊字元</p>
<p>*HTML字元*實際顯示*</p>
&amp; &<br>
&quot; "<br>
&lt; <<br>
&gt; ><br>
&nbsp; 代表空白<br>
<center><p style="color:red;">~~感謝所有努力過的網路朋友們~~謝謝大家在網路上所提供的資訊~~感恩~~</p></center>
</BODY>
</HTML>
==================================================================================================================================================
系統升級:
freebsd-update -fetch
freebsd-update -r 9.0-RELEASE upgrade
交大ftp:ftp://freebsd.csie.nctu.edu.tw/pub/releases/i386/
<HTML>
<BODY>
<p>今天的日期是: <?php echo date("Y-m-d"); ?> </p>
<p>現在的時間是: <?php echo date("H:i:s"); ?> </p>
<p>現在的日期和時間是: <?php echo date("Y-m-d H:i:s"); ?> </p>
<p style="color:green;">今天的日期是: <?php echo date("Y-m-d"); ?> </p>
<p style="color:blue;">現在的時間是: <?php echo date("H:i:s"); ?> </p>
<p><?php $x=date("Y-m-d"); $y=date("H:i:s"); ?></p>
<p>今天的日期是: <?php echo $x; ?> </p>
<p>現在的時間是: <?php echo $y; ?> </p>
<p>PHP 啟動了嗎?</p>
<p><?php phpinfo(); ?> </p>
</HTML>
</BODY>
==================================================================================================================================================