今天在局域网搭建了自己的内网服务器,简单将过程记录一下,免得下一次又要找网络资源。
01. 分区,开始安装系统;
FreeBSD指定ports下载地址.
MASTER_SITE_OVERRIDE=ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}
02. 配置相关选项;
03. 第一次启动系统;
04. 配置IP/hostname/FTP/SSH;
一、IP及路由配置.
vi /etc/rc.conf
ifconfig_le0="DHCP"
ifconfig_le0="inet 192.168.11.21 netmask 255.255.255.0"
ifconfig_le1="inet 192.168.18.21 netmask 255.255.255.0"
defaultrouter="192.168.18.2"
ifconfig le0 192.168.11.21
ifconfig le0 down
ifconfig le0 up
vi /etc/resolv.conf
nameserver 192.168.18.2
二、SSH的打開.
vi /etc/ssh/sshd_config
/etc/rc.d/sshd restart
三、FTP的配置.
/etc/ftpusers
/etc/inetd.conf
/etc/ftpchroot
/usr/libexec/ftpd -4DU
/etc/rc.d/sshd reload
/etc/rc.d/inetd restart
1、禁止登录用户列表. vi /etc/ftpusers
2、不知道是啥意思. vi /etc/inetd.conf 去掉第一行ftp前面的#号
3、指定用户登录后的目录(如果不指定则用户可到处乱走).
vi /etc/ftpchroot
root /
4、查看允许登录SSH的用户(FTP用户不允许登录,如只允许root用户登录,则在最后添加一行:AllowUsers root)
vi /etc/ssh/sshd_config
AllowUsers fang
AllowUsers li
AllowUsers root // root 可从任何地方登录
AllowUsers admin@192.168.1.180 // admin 可从192.168.1.180登录
5、添加FTP用户.
adduser
username : fang
Full name : fang
用户组 : ftp
6、开机启动ftp
vi /etc/rc.conf 加入 inetd_enable="YES"
N、使变更有效:重启ftp和sshd
/usr/libexec/ftpd -4DU
/etc/rc.d/sshd reload
/etc/rc.d/inetd
restart
05. Apache + PHP + SVN + Memcached + Memcache
cd /usr/ports/www/apache22
cd /usr/ports/lang/php5 // 記得選擇Apache模塊
cd /usr/ports/lang/php5-extensions/
1、安裝配置.
vi /usr/local/etc/apache22/httpd.conf
ServerName 127.0.0.1:80
AddType application/x-httpd-php .php
LoadModule php5_module libexec/apache/libphp5.so // 如果這一行不存在也給加上
DirectoryIndex index.htm index.html index.php default.htm default.html default.php
2、开机启动.
apache22_enable="YES"
3、vi /boot/loader.conf
accf_data_load="YES"
accf_http_load="YES"
==========================配置 PHP============================
cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
根據情況判斷是否需要配置php.ini
# GD庫安裝
cd /usr/ports/graphics/php5-gd/
# GD庫加載
vi /usr/local/etc/php/extensions.ini
extension=gd.so
/usr/local/etc/rc.d/apache22 restart
06. 安装PostgreSQL;
/usr/local/etc/rc.d/postgresql start
/usr/local/etc/rc.d/postgresql restart
1、 用Ports方式安装,所有先项先默认.
cd /usr/ports/databases/postgresql84-server/
make install celan
rehash
2、 基本配置,进入pgsql用户:
su pgsql
mkdir /usr/local/pgsql/data
initdb -D /usr/local/pgsql/data
# 启动
postgres -D /usr/local/pgsql/data
# 用pgsql登陆psql环境
psql postgres
du #显示当前数据库用户,当前只有一个pgsql这样的超级用户
l #显示当前所有数据
q #退出psql环境
# 創建用戶
CREATE USER pgsql WITH PASSWORD 111111
# 修改密码
ALTER USER pgsql WITH PASSWORD 111111;
3、开启postgresql的网路访问.
vi /usr/local/pgsql/data/postgresql.conf
listen_addresses = localhost => listen_addresses = *
vi /usr/local/pgsql/data/pg_hba.conf
host all all 127.0.0.1/32 trust
host all all 192.168.18.0/24 md5
host testdb all 192.168.11.0/24 md5
更详细的在后面的
4、 让PostgreSQL自动启动.
vi /etc/rc.conf
postgresql_enable="YES"
reboot // 需要马上重起
07. 安装MySql;
# 安装
cd /usr/ports/databases/mysql50-server/
make install clean
# 配置
# 第一句好像才是正确的
cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf
# 说明:服务器与apache在一起,在/usr/local/share/mysql下面有5个my-xxxx.cnf文件:
my-small.cnf 最小配置安装,内存<=64M,数据数量最少
my-large.cnf 内存=512M
my-medium.cnf 32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存
my-huge.cnf 1G<内存<2G,服务器主要运行mysql
my-innodb-heavy-4G.cnf 最大配置安装,内存至少4G
# 初始化
/usr/local/bin/mysql_install_db
chown -R mysql:mysql /var/db/mysql
/usr/local/bin/mysqld_safe -u mysql &
# 将mysql端口绑定到127.0.0.1主要因为该服务器只为本站提供服务,为了增加安全性,所以这样做。
vi /usr/local/etc/my.cnf
[mysqld]
bind_address=127.0.0.1
# 启动MySQL
/usr/local/etc/rc.d/mysql-server start
# 修改密码
/usr/local/bin/mysql // 默认没有密码,这一句就完全的OK了
/usr/local/bin/mysql -u root -p
grant all privileges on *.* to root@% identified by "111111" with grant option;
FLUSH PRIVILEGES;
exit;
# 开机启动
mysql_enable="YES"