Freebsd 6.0安装配置Apache+MySQL+PHP+Myphpadmin+Webmin
<p>一、安装Freebsd</p><h3><span style="font-size:small">A、系统分区</span></h3>
<p>很多人在使用自己的作业系统时,不知道如何对系统分区,对于分区方案没有最好的,只是跟据自己的情况去分。<br />下面是我的分区方案。</p>
<p>硬盘为120G ,/(根)1G 左右就差不多了,但考滤到/root 工作目录也在这里,所以分大一点。</p>
<p>/home/data 主要是用来存放Email /ftp用户的数据</p>
<p>/tmp 1G 也是考虑到临时文件多,所以给大也点。</p>
<p>/usr/ 10G 因为要安装软件,还有下载的软件,我没有装GUI 所以只分了10G我认为足够了。</p>
<p>/var 3G这个目录存放的东西比较多,如日志、邮件的临时目录,如果空间不够ama visd-new 无法解开邮件进行杀毒。</p>
<pre><span style="font-size:small"> %df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 1.9G 481M 1.3G 26% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1g 92G 353M 84G 0% /home/data
/dev/ad0s1e 989M 224K 910M 0% /tmp
/dev/ad0s1f 9.7G 1.8G 7.1G 20% /usr
/dev/ad0s1d 2.9G 105M 2.6G 4% /var </span>
</pre>
<h3><span style="font-size:small">B、安装基本系统</span></h3>
<p>对于系统的安装,我选择了minimal(最小系统)和ports ,因为有些没必要的包就不装,减少系统体积,</p>
<p>另外作为一台服务器,我从来不装GUI 。</p>
<p>下载BSD时,只需要下载DISK 1 就行了,缺少的软件包可以通过网络安装。</p>
<pre><span style="font-size:small">C、配置系统</span></pre>
<pre>
</pre>
<p>如果你在安装后期没有配置系统,在系统启动完成后以root的身份登陆系统,运行sysinstall 进行设置,</p>
<p>或通过ee编辑器编辑/etc/rc.conf文件,在这里提醒各位,一会大多数服务都需要在/etc/rc.conf加入启动内容才能正常启动。</p>
<p>设置好固定IP,或通过DHCP 自动分配置机器IP。使用SSH 客户端进行管理服务器将会为你的工作提供方便。</p>
<p>使用SSH 要注意:</p>
<p>启用 sshd</p>
<p> <strong>sshd</strong> 的启用是作为 FreeBSD 安装中 <tt><span style="font-family:新宋体">Standard</span></tt> 安装过程中的一步来进行的。 要查看 <strong>sshd</strong> 是否已被启用, 请检查 <tt><span style="font-family:新宋体">rc.conf</span></tt> 文件中的:</p>
<pre>sshd_enable="YES"
</pre>
<p> 这表示在下次系统启动时加载 <strong>OpenSSH</strong> 的服务程序 <span><span style="color:#0000ff"><span>sshd</span>(8)</span></span>。 此外,也可以手动使用 <span><span style="color:#0000ff"><span>rc</span>(8)</span></span> 脚本 <tt><span style="font-family:新宋体">/etc/rc.d/sshd</span></tt> 来启动 <strong>OpenSSH</strong>:</p>
<pre>/etc/rc.d/sshd start
</pre>
<p>允许用户登录 <code><span style="font-family:新宋体">AllowUsers</span></code> 选项</p>
<p> 通常限制哪些用户能够登录, 以及从何处登录会是好主意。 采用 <tt><span style="font-family:新宋体">AllowUsers</span></tt> 选项能够方便地达到这一目的。 例如, 想要只允许 <tt><span style="font-family:新宋体">root</span></tt> 用户从 <tt><span style="font-family:新宋体">192.168.1.32</span></tt> 登录, 就可以在 <tt><span style="font-family:新宋体">/etc/ssh/sshd_config</span></tt> 文件中加入下述设置:</p>
<pre>AllowUsers root@192.168.1.32
</pre>
<p> 要允许用户 <tt><span style="font-family:新宋体">admin</span></tt> 从任何地方登录, 则只需列出用户名:</p>
<pre>AllowUsers admin
</pre>
<p> 可以在同一行指定多个用户, 例如:</p>
<pre>AllowUsers root@192.168.1.32 admin
</pre>
<blockquote><p><strong>注意:</strong> 列出需要登录机器的用户很重要; 否则他们将被锁在外面。</p></blockquote>
<p> 在完成对 <tt><span style="font-family:新宋体">/etc/ssh/sshd_config</span></tt> 的修改之后您必须告诉 <span><span style="color:#0000ff"><span>sshd</span>(8)</span></span> 重新加载其配置文件, 方法是执行:</p>
<pre><samp>#</samp>
<kbd>/etc/rc.d/sshd reload</kbd>
</pre>
<p>a、不能用root直接登陆,需要添加一个新用户,指定到wheel 组,用此用户登陆后用使用 su - 提升到管理员。</p>
<p>b、 以我的SecureCRT 为例,Session options ->Authentication ->Primary 选择keyboard Interactive</p>
<p>c、如果你要使用像LINUX 一样的彩色显示,需要把 Emulation -> Terminal ->Xterm 选中ANSI Color 并在/etc/csh.cshrc加入</p>
<pre><span style="font-size:small">setenv LSCOLORS ExGxFxdxCxegedabagExEx
setenv CLICOLOR yes
set autolist</span></pre>
<p>然后执行</p>
<pre><span style="font-size:small">sed -i.bak -E s/set\ prompt/#set\ prompt/g /root/.cshrc</span></pre>
<p>退出重新登陆即可看到彩色目录了。</p>
<p>二、更新软件包</p>
<p>采用Freebsd 最好的地方就是安装软件方便,还可以装到最新的软件包,这就是强大的posts 系统。如果你的系统在安装时没有选择posts ,具休如何操作看BSD 的handbook.</p>
<p>对ports 进行更新,首先修改系统默认下载的FTP地址:</p>
<p>#vi /etc/make.conf</p>
<p>添加下列四个连接地址,第一个为HTTP连接其余都是FTP.</p>
<p>MASTER_SITE_OVERRIDE?= \<br />http://ports.hshh.org/${DIST_SUBDIR}/ \<br />ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ \<br />ftp://ftp.tw.freebsd.org/pub/ports/distfiles/${DIST_SUBDIR}/ \<br />ftp://freebsd.csie.nctu.edu.tw/pub/ports/distfiles/${DIST_SUBDIR}/ \</p>
<p>CVSUP 的站点很多,你可以选择离你最快的站点去更新posts ,具体查看 freebsd.org /freebsdchina.org.cn</p>
<p>在使用cvsup之前你必须连接到互联网,并需要安装cvsup 这个软件</p>
<p>a、安装cvsup-without-gui</p>
<pre><span style="font-size:small"> % cd /usr/ports/net/cvsup-without-gui/
% make install clean
</span></pre>
<p>b、更新ports<br />安装完cvsup软件后,</p>
<pre><span style="font-size:small">% /usr/local/bin/cvsup -gL 2 -h cvsup4.freebsdchina.org /usr/share/examples/cvsup/ports-supfile</span>
</pre>
<h2><span style="font-size:small">三、安装数据库 MySQL </span></h2>
<p>MySQL 版本很多,大家可以据自己需要自行安装。</p>
<pre><span style="font-size:small">%cd /usr/ports/databases/mysql41-server/
%make install clean
</span></pre>
<p>在/etc/rc.conf 加入</p>
<pre><span style="font-size:small">mysql_enable="YES"
</span></pre>
<p>复制配置文件(非必需)</p>
<pre><span style="font-size:small">cp /usr/local/share/mysql/my-small.cnf /usr/local/etc/my.cnf</span></pre>
<p>在此说明:</p>
<p>1、如果不在/etc/rc.conf 加入以上内容,手工是无法启动MySQL的。<br />2、如果你想知道这个软件应该在/etc/rc.conf加入什么内容,</p>
<p>打开/usr/local/etc/rc.d 目录,找到此软件的启动脚本。然后打开文件,如果有详细的说明。</p>
<pre><span style="font-size:small">%/usr/local/etc/rc.d/mysql-server.sh start
Starting mysql.</span></pre>
<p>如何去检查一个服务是否正常启动:1、通过ps查看进程,2、检查所打开的端口。</p>
<pre><span style="font-size:small">%ps aux|grep mysql
mysql 948990.20.516441240p0S 3:52PM 0:00.07 /bin/sh /usr/local/bin/mysqld_safe --
mysql 949190.0 10.8 55564 27428p0S 3:52PM 0:01.54 /usr/local/libexec/mysqld --defaults-
%
%netstat -an|grep 3306
tcp4 0 0*.3306 *.* LISTEN
</span></pre>
<p>MySQL安装时,服务器的密码为空,建议你装好系统后,第一时间去更改密码。</p>
<pre><span style="font-size:small">% /usr/local/bin/mysqladmin -u-root -p password 你的新密码
Enter password: </span></pre>
<p>如果你服务器只供本站内部使用建议在 my.cnf 里加入下面内容,以增加服务器的安全性。</p>
<pre><span style="font-size:small">
bind_address=127.0.0.1</span></pre>
<pre><span style="font-size:small"> </span></pre>
<pre>
</pre>
<h2><span style="font-size:small">四、安装Apache</span></h2>
<h2><span style="font-size:small"> </span></h2>
<h2><span style="font-size:small">1、安装apache server </span></h2>
<p><span style="font-size:small"><span>作为网络的今天apache web服务器已经是街知闻了。</span> </span></p>
<pre><span style="font-size:small">% cd /usr/ports/www/apache22/
% make install clean</span>
</pre>
<pre><span style="font-size:small"> │ Options for python 2.4.3 │</span></pre>
<pre><span style="font-size:small"> │ │ THREADS Enable thread support │ │
│ │ [ ] HUGE_STACK_SIZE Use a larger thread stack │ │
│ │ UCS4 Use UCS4 for unicode support │ │
│ │ PYMALLOC Use python's internal malloc │ │
│ │ [ ] IPV6 Enable IPv6 support │ │
│ │ [ ] FPECTL Enable floating point exception handling </span>
</pre>
<p>在/etc/rc.conf 中加入:</p>
<pre><span style="font-size:small">apache22_enable="YES"</span></pre>
<p>如果启动时出现httpd: Could not reliably determine the</p>
<p>server's fully qualified domain name, using mail.sharesky.cn for ServerName 的错误,</p>
<p>在/usr/local/etc/apache22/httpd.conf 约第144行的位置加入下面的内容。</p>
<pre><span style="font-size:small">ServerName mail.extmail.org</span></pre>
<p>启动apahce</p>
<pre><span style="font-size:small">% /usr/local/etc/rc.d/apache22.sh start
Performing sanity check on apache22 configuration:
Syntax OK
Starting apache22.</span>
</pre>
<h3><span style="font-size:small">2、安装PHP</span></h3>
<pre><span style="font-size:small">% cd /usr/ports/www/mod_php4/
% make install clean</span></pre>
<pre><span style="font-size:small"> Options for mod_php4 4.4.2_1,1 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [ ] DEBUG Enable debug x x
x x MULTIBYTEEnable zend multibyte support x x
x x [ ] IPV6 Enable ipv6 support x x
x x OPENSSL Build static OpenSSL extension </span></pre>
<p>在/usr/local/etc/apache22/httpd.conf 里加入</p>
<pre><span style="font-size:small">AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps</span></pre>
<p>加入目录索引 index.php,约在httpd.conf 的212行</p>
<pre><span style="font-size:small"> DirectoryIndex index.html index.php
</span></pre>
<p>restart或reload Apache 使之生效</p>
<pre><span style="font-size:small">% /usr/local/etc/rc.d/apache22.sh reload
Performing sanity check on apache22 configuration:
Syntax OK
Performing a graceful restart</span></pre>
<h3><span style="font-size:small">3、安装PHP 扩展 </span></h3>
<pre><span style="font-size:small">% cd /usr/ports/lang/php4-extensions/
% make install clean</span>
</pre>
<p><span style="font-size:small"><span>在这里建议大家,如果没有必要尽量不要安装GD库免得浪费时间,大家可据自己需要选择安装模块</span></span></p>
<pre><span style="font-size:small"> lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Options for php4-extensions 1.0 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x[ ] BCMATH bc style precision math functions x x
x x BZ2 bzip2 library support x x
x x[ ] CALENDAR calendar conversion support x x
x x[ ] CRACK crack support x x
x x CTYPE ctype functions x x
x x CURL CURL support x x
x x[ ] DBA dba support x x
x x[ ] DBASE dBase library support x x
x x[ ] DBX dbx support x x
x x[ ] DIO Direct I/O support x x
x x[ ] DOMXML DOM support x x
x x[ ] EXIF EXIF support x x
x x[ ] FILEINFO fileinfo support x x
x x[ ] FILEPRO filePro support x x
x x[ ] FRIBIDI FriBidi support
x x FTP FTP support x x
x x[ ] GD GD library support x x
x x GETTEXT gettext library support x x
x x[ ] GMP GNU MP support x x
x x ICONV iconv support x x
x x[ ] IMAGICK ImageMagick support x x
x x IMAP IMAP support x x
x x[ ] INTERBASE Interbase 6 database support (Firebird) x x
x x[ ] LDAP OpenLDAP support x x
x x MBSTRING multibyte string support x x
x x[ ] MCAL Modular Calendar Access Library support x x
x x MCRYPT Encryption support x x
x x[ ] MCVE MCVE support x x
x x[ ] MHASH Crypto-hashing support x x
x x[ ] MING ming shockwa ve flash support x x
x x[ ] MNOGOSEARCHmnoGoSearch support x x
x x[ ] MSSQL MS-SQL database support x x
x x MYSQL MySQL database support x x
x x[ ] NCURSES ncurses support (CLI only) x x
x x[ ] ODBC unixODBC support x x
x x OPENSSL OpenSSL support x x
x x[ ] ORACLE Oracle support x x
x x OVERLOAD user-space object overloading support x x
x x[ ] PANDA panda support x x
x x[ ] PCNTL pcntl support (CLI only) x x
x x PCRE Perl Compatible Regular Expression support x x
x x[ ] PDF PDFlib support (implies GD) x x
x x[ ] PFPRO PayFlow Pro support x x
x x[ ] PGSQL PostgreSQL database support x x
x x POSIX POSIX-like functions x x
x x[ ] PSPELL pspell support x x
x x[ ] READLINE readline support (CLI only) x x
x x[ ] RECODE recode support x x
x x SESSION session support x x
x x[ ] SHMOP shmop support x x
x x[ ] SNMP SNMP support x x
x x[ ] SOCKETS sockets support x x
x x[ ] SYBASE_CT Sybase database support x x
x x[ ] SYSVMSG System V message support x x
x x[ ] SYSVSEM System V semaphore support x x
x x[ ] SYSVSHM System V shared memory support x x
x x TOKENIZER tokenizer support x x
x x[ ] WDDX WDDX support (implies XML) x x
x x XML XML support x x
x x[ ] XMLRPC XMLRPC-EPI support x x
x x[ ] XSLT XSLT Sablotron support x x
x x[ ] YAZ YAZ support (ANSI/NISO Z39.50) x x
x x[ ] YP YP/NIS support x x
x x[ ] ZIP ZIP support x x
x x ZLIB ZLIB support x x</span>
</pre>
<pre><span style="font-size:small"># vi /usr/local/www/apache22/data/test.php
输入:</span></pre>
<pre><span style="font-size:small"><?php phpinfo(); ?></span>
</pre>
<h3><span style="font-size:small">4、安装phpmyadmin 管理数据库</span></h3>
<p>为了去除无聊的安装过程,这里选择手工安装,先下载软件包,然后解压,再复制到/usr/local/www/apache22/data 下面</p>
<pre><span style="font-size:small">%cd /usr/ports/databases/phpmyadmin/
%make fetch
%cd /usr/ports/distfile
%tar jxvf phpMyAdmin-2.7.0-pl2.tar.bz2
%cp -r /usr/ports/distfiles/phpMyAdmin-2.7.0-pl2 /usr/local/www/apache22/data/phpmyadmin
</span></pre>
<pre><span style="font-size:small">%cd /usr/local/www/apache22/data/phpmyadmin/
%ee config.default.php </span></pre>
<p>将$cfg['Servers'][$i]['auth_type'] = 'config'; 改为</p>
<pre><span style="font-size:small">$cfg['Servers'][$i]['auth_type'] = 'http'; </span></pre>
<pre><span style="font-size:small">打开页面弹出验证窗口。
</span></pre>
<p>打开http://ip/phpmyadmin 就可以管理你的mysql 数据库了</p>
<p>推出保存 #chmod 755 test.php <span style="font-size:13px"><span style="font-size:small">大家注意,可能你下载的版本与我下载的不一样,不能照搬。</span></span> <span><span style="font-size:small">设置phpmyadmin </span></span> <span style="font-size:13px"><strong><span style="font-size:small">phpMyAdmin-2.8.1 版的Port 安装方法.</span></strong></span> <span style="font-size:13px"><span style="font-size:small"># whereis phpmyadmin<br />phpmyadmin: /usr/ports/databases/phpmyadmin</span></span> <span style="font-size:13px"><span style="font-size:small">cd /usr/ports/databases/phpmyadmin</span></span> <span style="font-size:13px"><span style="font-size:small">make install clean</span></span> <span style="font-size:13px"><span style="font-size:small">#cd /usr/local/www/phpMyAdmin/</span></span> <span style="font-size:13px"><span style="font-size:small">进入<u><strong><span style="color:#ff0000">phpmyadmin</span></strong></u>下的libraries 目录!</span></span> <span style="font-size:13px"><span style="font-size:small">修改 config.default.php</span></span> <span style="font-size:13px"><span style="font-size:13px"><span style="font-size:small">#vi libraries/config.default.php</span></span></span><br /><span style="font-size:small">找到$cfg['PmaAbsoluteUri'] = '';<br />修改成 $cfg['PmaAbsoluteUri'] = 'http://你的IP/phpmyadmin';<br />找到<br />$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?<br />$cfg['Servers'][$i]['user'] = 'root'; // MySQL user<br />$cfg['Servers'][$i]['password'] = '';<br />写的Mysql用户名and密码!保存退出!</span> <span style="font-size:small">因为phpmyadmin的PATH 是:/usr/local/www/phpmyadmin</span> <span style="font-size:small">所以我们需要在APACHE里面建立一个Alias:</span> <span style="font-size:small">#vi /usr/local/etc/apache22/httpd.conf</span> <span style="font-size:small">在Alias 组加入下列内容:</span> <span style="font-size:small">*************************************************** </span> <span style="font-size:small"> Alias /phpmyadmin "/usr/local/www/phpMyAdmin/"<br /> <Directory /usr/local/www/phpMyAdmin/></span> <span style="font-size:small"> Order allow,deny<br /> Allow from all</span> <span style="font-size:small"> </Directory></span> <span style="font-size:small">***************************************************<br />保存退出.</span> 弹出验证窗口。 <span style="font-size:small">修改/usr/local/www/phpMyAdmin/libraries/config.default.php</span> <span style="font-size:small">中的:$cfg['Servers'][$i]['auth_type'] = "config"</span> <span style="font-size:small">改成: </span> <span style="font-size:small">$cfg['Servers'][$i]['auth_type'] = 'http'; </span> <span style="font-size:small"># /usr/local/etc/rc.d/apache22.sh reload</span> <span style="font-size:small">然后用</span>http://your<span style="font-size:small"> IP/phpmyadmin访问!</span></p>
<p><span style="font-size:13px"><strong>5 使用同一个IP的虚拟主机设置方法:</strong></span></p>
<p>取消中心主机,在ServerName 前面加井号屏蔽. </p>
<p>添加虚拟主机设置,比如说,假设你正在为域名<code><span style="font-family:新宋体">domain.tld</span></code>提供服务, 而你又想在同一个IP地址上加一个名叫<code><span style="font-family:新宋体">otherdomain.tld</span></code>的虚拟主机, 你只需在<code><span style="font-family:新宋体">httpd.conf</span></code>中加入以下内容:</p>
<p><code><span style="font-family:新宋体">NameVirtualHost *<br /><br /><VirtualHost *></span><br /><span style="font-family:新宋体"><span>ServerName domain.tld<br />ServerAlias domain.tld *.domain.tld<br />DocumentRoot /www/domain</span><br /></VirtualHost><br /><br /><VirtualHost *></span><br /><span style="font-family:新宋体"><span>ServerName otherdomain.tld<br />DocumentRoot /www/otherdomain</span><br /></VirtualHost></span></code></p>
<p><code><span style="font-family:新宋体">和添加别名是雷同的.</span></code></p>
<p><code><span style="font-family:新宋体">6 安装WEBMIN</span></code></p>
<p><code><span style="font-family:新宋体">mail# whereis webmin<br />webmin: /usr/ports/sysutils/webmin</span></code><br /><code><span style="font-family:新宋体">cd /usr/ports/sysutils/webmin</span></code></p>
<p><code><span style="font-family:新宋体">make install clean</span></code></p>
<p><code><span style="font-family:新宋体">cd /usr/local/etc/webmin</span></code></p>
<p><span style="font-family:新宋体"><code>sh start</code></span></p>
<p><span style="font-size:13px"><span style="font-size:small">然后访问 http://IP:10000</span></span></p>
頁:
[1]