跟着ArthurXF学FreeBSD21——清空FreeBSD系统日志
2007/02/09 23:05 ArthurXF
FreeBSD的日志文件很强大,可以分析排出很多的错误,但是这些日志不断地积累,会变得很大,占用了太多的磁盘空间,我们可能需要清空他们,释放磁盘空间。如果你使用rm命令,那么必须重起apache,日志文件才会重新建立。为了不影响系统的运转,请使用下面的命令来清空系统日志。
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
引用
# cd /var/log/
# true > httpd-access.log
# true > httpd-access.log
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
跟着ArthurXF学FreeBSD20——用ports安装PDO
2007/02/09 16:06 ArthurXF
php连接数据库有很多的中间件,例如ADODB,这些中间件,可以让我们很方便连接各种不同类型的数据库,仅仅只需要换一下连接参数即可,这些中间件还有大量的缓存处理等强大功能,真可谓是我们开发者的福音啊,ADODB虽然好用,但是毕竟还是需要外部开发的,PDO已经被集成到了PHP5里,为了将来的扩展和升级,所以我们开发的时候还是尽量使用PDO,那么我们开始安装PDO吧。
安装了这个仅仅是安装好了PDO的驱动,这时候还是连接不到任何数据库的。还需要安装具体数据库的连接驱动。
先安装PDO_MYSQL
再安装PDO_PGSQL
如果需要PDO_SQLITE
其他的还有pecl-PDO_DBLIB,pecl-PDO_OCI,pecl-PDO_ODBC等,如果需要也可以按照上面的方法安装。
安装好了之后,重起apache,再看phpinfo,应该可以看到pdo的项目了,如果没有就去看一下
vi /usr/local/etc/php/extensions.ini
看看有没有下面这写,没有就自己加上去,重起apache即可。
extension=pdo.so
extension=pdo_pgsql.so
extension=pdo_mysql.so
extension=pdo_sqlite.so
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
引用
cd /usr/ports/databases/pecl-PDO
make install
make install
安装了这个仅仅是安装好了PDO的驱动,这时候还是连接不到任何数据库的。还需要安装具体数据库的连接驱动。
先安装PDO_MYSQL
引用
cd /usr/ports/databases/pecl-PDO_MYSQL
make install
随着版本变动,如果上面找不到相对应的port,那么就执行下面的命令
cd /usr/ports/databases/php5-pdo_mysql
make install
make install
随着版本变动,如果上面找不到相对应的port,那么就执行下面的命令
cd /usr/ports/databases/php5-pdo_mysql
make install
再安装PDO_PGSQL
引用
cd /usr/ports/databases/pecl-PDO_PGSQL
make install
随着版本变动,如果上面找不到相对应的port,那么就执行下面的命令
cd /usr/ports/databases/php5-pdo_pgsql
make install
make install
随着版本变动,如果上面找不到相对应的port,那么就执行下面的命令
cd /usr/ports/databases/php5-pdo_pgsql
make install
如果需要PDO_SQLITE
引用
cd /usr/ports/databases/pecl-PDO_SQLITE
make install
随着版本变动,如果上面找不到相对应的port,那么就执行下面的命令
cd /usr/ports/databases/php5-pdo_sqlite
make install
make install
随着版本变动,如果上面找不到相对应的port,那么就执行下面的命令
cd /usr/ports/databases/php5-pdo_sqlite
make install
其他的还有pecl-PDO_DBLIB,pecl-PDO_OCI,pecl-PDO_ODBC等,如果需要也可以按照上面的方法安装。
安装好了之后,重起apache,再看phpinfo,应该可以看到pdo的项目了,如果没有就去看一下
vi /usr/local/etc/php/extensions.ini
看看有没有下面这写,没有就自己加上去,重起apache即可。
extension=pdo.so
extension=pdo_pgsql.so
extension=pdo_mysql.so
extension=pdo_sqlite.so
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
跟着ArthurXF学FreeBSD19——用ports安装postgresql82
2007/02/09 15:36 ArthurXF
PostgreSQL是一款开源的大型数据库,有很多的大型数据库都是以它为前身发展过来的,PostgreSQL支持视图,触发器等等功能,那么就来安装最新版的PostgreSQL82吧。
安装postgresql82-server会自动安装postgresql82-client的,所以不需要我们另外单独安装client了。
安装PostgreSQL的管理工具phppgadmin
这是一个php写得管理PostgreSQL的工具,所以默认会安装到apache指定的web路径,一般为/usr/local/www,如果你指定其他的路径,或者想放到虚拟主机下,只需要cp phpPgAdmin整个目录到你想要防止的目录即可。
初始化PostgreSQL的数据库
默认数据库存放地址为/usr/local/pgsql/data,如果你不想把数据库放在这里就需要修改设置,例如:
su pgsql的意思是切换到用户pgsql,所以我们会看到状态符号变成了$,如果我们想返回root状态,直接使用exit命令即可。
下面这步很关键,要不然又要摸索很长时间了。
test为你设置的使用PostgreSQL数据库的用户名和密码,我们可以设置成为用户名和密码都是test。
在/etc/rc.conf加入
然后启动PostgreSQL
这里特别需要注意一下,因为PostgreSQL为了安全性,所以只能通过没有特权的帐号执行start,stop等命令,当然这些我们都不需要考虑,postgresql已经都设置好了,只是像我们以前说的,你配置的环境变量如果只是配置了root,那么很可能发生切换到pgsql帐号时,Permission denied.等错误,需要到 /usr/local/pgsql,编辑.cshrc,或者把环境变量加到整个系统的配置文件中去,这样的错误就会解决得。如果你还是搞不定,那么重起肯定能搞定了。呵呵。
啰嗦了半天,还没完,安装好了PostgreSQL,可是查看phpinfo的时候,竟然没发现PostgreSQL,说明PostgreSQL和php还没挂接上,执行下面的操作来挂接。
执行成功后,看phpinfo,看到pgsql项目了吧?现在已经安装好了,php也可以连接和使用PostgreSQL了,我们用phppgadmin来看看
执行phppgadmin后,点击左边那个带禁止符号的PostgreSQL,右边出现了登录框,如果你没用createuser -s -P test建立用户,那么这时输入什么都登录不了,包括pgsql,这时输入我们刚建立的test和密码test,看看成功进入了吧。呵呵,管理PostgreSQL还真有点困难啊。
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
引用
cd /usr/ports/databases/postgresql82-server/
make
make install clean
make
make install clean
安装postgresql82-server会自动安装postgresql82-client的,所以不需要我们另外单独安装client了。
安装PostgreSQL的管理工具phppgadmin
引用
cd /usr/ports/databases/phppgadmin
make install clean
make install clean
这是一个php写得管理PostgreSQL的工具,所以默认会安装到apache指定的web路径,一般为/usr/local/www,如果你指定其他的路径,或者想放到虚拟主机下,只需要cp phpPgAdmin整个目录到你想要防止的目录即可。
初始化PostgreSQL的数据库
引用
su pgsql
initdb -D /usr/local/pgsql/data
initdb -D /usr/local/pgsql/data
默认数据库存放地址为/usr/local/pgsql/data,如果你不想把数据库放在这里就需要修改设置,例如:
引用
mkdir /var/pgsql/data
chown pgsql /var/pgsql/data
#su pgsql
$initdb -D /var/pgsql/data
chown pgsql /var/pgsql/data
#su pgsql
$initdb -D /var/pgsql/data
su pgsql的意思是切换到用户pgsql,所以我们会看到状态符号变成了$,如果我们想返回root状态,直接使用exit命令即可。
下面这步很关键,要不然又要摸索很长时间了。
引用
$createuser -s -P test
test为你设置的使用PostgreSQL数据库的用户名和密码,我们可以设置成为用户名和密码都是test。
在/etc/rc.conf加入
引用
#vi /etc/rc.conf
postgresql_enable="YES"
postgresql_enable="YES"
然后启动PostgreSQL
引用
#postgresql start
这里特别需要注意一下,因为PostgreSQL为了安全性,所以只能通过没有特权的帐号执行start,stop等命令,当然这些我们都不需要考虑,postgresql已经都设置好了,只是像我们以前说的,你配置的环境变量如果只是配置了root,那么很可能发生切换到pgsql帐号时,Permission denied.等错误,需要到 /usr/local/pgsql,编辑.cshrc,或者把环境变量加到整个系统的配置文件中去,这样的错误就会解决得。如果你还是搞不定,那么重起肯定能搞定了。呵呵。
啰嗦了半天,还没完,安装好了PostgreSQL,可是查看phpinfo的时候,竟然没发现PostgreSQL,说明PostgreSQL和php还没挂接上,执行下面的操作来挂接。
引用
#cd /usr/ports/databases/php5-pgsql
#make
#make install clean
#make
#make install clean
执行成功后,看phpinfo,看到pgsql项目了吧?现在已经安装好了,php也可以连接和使用PostgreSQL了,我们用phppgadmin来看看
执行phppgadmin后,点击左边那个带禁止符号的PostgreSQL,右边出现了登录框,如果你没用createuser -s -P test建立用户,那么这时输入什么都登录不了,包括pgsql,这时输入我们刚建立的test和密码test,看看成功进入了吧。呵呵,管理PostgreSQL还真有点困难啊。
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
跟着ArthurXF学FreeBSD18——设置时区同步国际时间
2007/02/05 12:45 ArthurXF
FreeBSD经常在安装的时候一不注意就设置了UTC,结果服务器上的时间和我们中国时区的时间总是差8小时,我们可以用下面的方法来更改时区。
注:如果你执行同步命令的时候,碰到下面的错误,就是由IPFW造成的。
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
引用
#sysinstall
选择 configure
选择 Time Zone
UTC = no
选择 Asia
选择 China
选择 east China - Beijing,Guangdong,Shanghai etc.
Does the abbreviation `CST' look reasonable? = OK
然后退出sysinstall就可以了。
用date命令验证一下
#date
Mon Feb 5 12:35:01 CST 2007
如果时间不对,就用下面的命令同步windows的时间服务器
ntpdate time.windows.com
这样时间就对了,如果你时钟经常会变慢,你可以在crontab设置定时执行同步时间命令。
如果要开机自动校准时间,只需在/etc/rc.conf中加入
ntpdate_enable="YES"
ntpdate_flags="-b time.windows.com" # Flags to ntpdate (if enabled).
ntpdate_hosts="time.windows.com"
选择 configure
选择 Time Zone
UTC = no
选择 Asia
选择 China
选择 east China - Beijing,Guangdong,Shanghai etc.
Does the abbreviation `CST' look reasonable? = OK
然后退出sysinstall就可以了。
用date命令验证一下
#date
Mon Feb 5 12:35:01 CST 2007
如果时间不对,就用下面的命令同步windows的时间服务器
ntpdate time.windows.com
这样时间就对了,如果你时钟经常会变慢,你可以在crontab设置定时执行同步时间命令。
如果要开机自动校准时间,只需在/etc/rc.conf中加入
ntpdate_enable="YES"
ntpdate_flags="-b time.windows.com" # Flags to ntpdate (if enabled).
ntpdate_hosts="time.windows.com"
注:如果你执行同步命令的时候,碰到下面的错误,就是由IPFW造成的。
引用
ntpdate time.windows.com
14 Jan 02:35:19 ntpdate[91125]: sendto(207.46.232.182): Permission denied
14 Jan 02:35:43 ntpdate[91125]: sendto(207.46.232.182): Permission denied
14 Jan 02:36:04 ntpdate[91125]: sendto(207.46.232.182): Permission denied
14 Jan 02:36:24 ntpdate[91125]: sendto(207.46.232.182): Permission denied
14 Jan 02:36:25 ntpdate[91125]: no server suitable for synchronization found
解决办法:
执行下面的命令
ipfw add 10007 allow udp from any to any 123 in keep-state
再运行ntpdate time.windows.com就可以了。
14 Jan 02:35:19 ntpdate[91125]: sendto(207.46.232.182): Permission denied
14 Jan 02:35:43 ntpdate[91125]: sendto(207.46.232.182): Permission denied
14 Jan 02:36:04 ntpdate[91125]: sendto(207.46.232.182): Permission denied
14 Jan 02:36:24 ntpdate[91125]: sendto(207.46.232.182): Permission denied
14 Jan 02:36:25 ntpdate[91125]: no server suitable for synchronization found
解决办法:
执行下面的命令
ipfw add 10007 allow udp from any to any 123 in keep-state
再运行ntpdate time.windows.com就可以了。
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
跟着ArthurXF学FreeBSD17——计时器crontab的使用说明
2007/01/30 12:39 ArthurXF
引用
crontab
功能说明:设置计时器。
语 法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]
补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使用计时器的功能。其配置文件格式如下:
Minute Hour Day Month DayOFWeek Command
配置命令的取值范围:
minute (0-59), hour (0-23), day of the month (1-31), month of the year (1-12), day of the week (0-6 with 0=Sunday).
参 数:
-e 编辑该用户的计时器设置。
-l 列出该用户的计时器设置。
-r 删除该用户的计时器设置。
-u<用户名称> 指定要设定计时器的用户名称。
功能说明:设置计时器。
语 法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]
补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使用计时器的功能。其配置文件格式如下:
Minute Hour Day Month DayOFWeek Command
配置命令的取值范围:
minute (0-59), hour (0-23), day of the month (1-31), month of the year (1-12), day of the week (0-6 with 0=Sunday).
参 数:
-e 编辑该用户的计时器设置。
-l 列出该用户的计时器设置。
-r 删除该用户的计时器设置。
-u<用户名称> 指定要设定计时器的用户名称。
详细说明:
时程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其余类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
引用
例子:
每月每天7点的第 0 分钟执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
注意:
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可
每月每天7点的第 0 分钟执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
注意:
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可
在FreeBSD下直接使用crontab -e命令会调用默认的编辑器,一般都是vi,所以编辑内容时按i后再编辑,编辑完了,按ESD键退出编辑状态,再输入:wq,这样就完成了编辑,编辑成功后,不需要执行其他的命令,crontab就已经生效了,但是有些Linux系统还需要执行/etc/init.d/cronb restart命令才可以。如果在FreeBSD下不生效,那肯定是你的编辑的内容有错误,最好检查一下,实在找不出毛病,就自己重新输入一次,相信就会成功的。
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章用户名称>用户名称>用户名称>>