
路由宝安装owncloud过程(二)
上次把各个软件装到tf卡里,各种配置出错,搞到半夜3点也没有成功。决定还是走扩展系统的老路。
参考自:
http://www.tuicool.com/articles/IJ32maI
http://www.right.com.cn/forum/thread-73795-1-1.html
前边的就不说了,从格盘开始
一、分区
#cfdisk /dev/mmcblk0
此为图形界面,如果是空盘就不说了,如果是有分区,就把分区一个一个按“d“删掉,然后”n“新建一个1.2G的分区,再建一个1.1G的分区,最后空间建一个分区,”w“保存、退出。
mkfs.ext2 /dev/mmcblk0p1 #将第一个分区格式化为ext3格式
mkswap /dev/mmcblk0p2 #将第二个分区格式化为swap交换分区
mkfs.ext2 /dev/mmcblk0p3 #将第三个分区格式化为ext3格式
备注:如果想用ext4文件系统,最好把日志关掉。#mkfs.ext4 -O ^has_journal /dev/mmcblk0p1
#fdisk -l
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 16 2472639 1236312 83 Linux
/dev/mmcblk0p2 2472640 4867199 1197280 83 Linux
/dev/mmcblk0p3 4867200 15523839 5328320 83 Linux
二、添加tf卡启动
1. 将系统镜像移动到tf卡第一个分区下:
mount /dev/mmcblk0p1 /mnt
mkdir /tmp/cproot
mount --bind / /tmp/cproot
tar -C /tmp/cproot -cvf - . | tar -C /mnt -xvf -
sync
umount /mnt
umount /tmp/cproot
2. 修改分区表
修改/etc/config/fstab
添加如下内容:
config mount
option target / #选择将/dev/mmcblk0p1挂载为根分区
option device /dev/mmcblk0p1 #需要挂载的设备,/dev/mmcblk0p1
option fstype ext3 #文件系统格式ext3
option options rw,sync #读写,以及同步权限
option enabled 1 #是否需要启动
option enabled_fsck 0 #是否需要启动检查
3. 这是很关键的一步,要通过命令完成
#/etc/init.d/fstab enable
4.重新启动
#reboot
重启后
#df
[root@PandoraBox:/root]#df
Filesystem Size Used Available Use% Mounted on
rootfs 1.1G 24.7M 1.0G 2% /
/dev/root 6.0M 6.0M 0 100% /rom
tmpfs 61.7M 324.0K 61.4M 1% /tmp
/dev/mmcblk0p1 1.1G 24.7M 1.0G 2% /
tmpfs 512.0K 0 512.0K 0% /dev
/dev/mmcblk0p3 4.9G 10.3M 4.6G 0% /mnt/tf
/dev/mtdblock7 24.6M 756.0K 23.8M 3% /mnt/mtdblock7
这个是最终分区图,重启后,需要进入web界面--“系统”--“挂载点”,手动把swap挂载上,并且把mmcblk0p3挂载为/mnt/tf,我的重启后被自动挂载为/mnt/mmcblk0p3了,我嫌名字不好记,给手动挂载改成tf了。
三、安装lighttpd+php+mysql
参考自:
http://www.right.com.cn/forum/thread-71161-1-1.html
1.安装软件
更新软件列表
#opkg update
安装lighttpd
#opkg install lighttpd lighttpd-mod-cgi lighttpd-mod-fastcgi lighttpd-mod-access
安装php5
#opkg install php5 php5-cgi php5-fastcgi php5-mod-json php5-mod-session php5-mod-zip libsqlite3 zoneinfo-core php5-mod-pdo php5-mod-pdo-sqlite php5-mod-ctype php5-mod-mbstring php5-mod-gd sqlite3-cli php5-mod-sqlite3 php5-mod-curl curl php5-mod-xml php5-mod-simplexml php5-mod-hash php5-mod-dom php5-mod-iconv php5-mod-xmlwriter php5-mod-xmlreader
#opkg install php5-mod-mcrypt php5-mod-openssl php5-mod-fileinfo php5-mod-exif
安装mysql
#opkg install mysql-server
建立www账号及用户组
#opkg install shadow-groupadd shadow-useradd
#groupadd www
#useradd -g www www
#chown -R www:www /mnt/tf/www
2.修改/etc/lighttpd/lighttpd.conf
server.modules = (
"mod_rewrite",
"mod_alias",
"mod_access",
"mod_fastcgi",
"mod_cgi"
)
server.document-root = "/mnt/tf/www/owncloud" (网站的根目录,可根据自己的情况改写)
server.errorlog = "/var/log/lighttpd/error.log" (错误日志,可以不改)
index-file.names = ( "index.php","index.html", "default.html", "index.htm", "default.htm" ) (网站的默认首页)
server.port = 81 (网站的端口,现在ISP一般会把80端口封掉,所以网站在外网无法访问,但能ping通时,可以更换端口)
fastcgi.server = (
".php" => (
"localhost" => (
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/bin/php-fcgi"
)
)
)
添加如下安全性内容:
$HTTP["url"] =~ "^/data/" { url.access-deny = ("")}
$HTTP["url"] =~ "^($|/)" { dir-listing.activate = "disable"}
启动lighttpd
#/etc/init.d/lighttpd start
#/etc/init.d/lighttpd enable
3. 修改/etc/php.ini
short_open_tag = on
doc_root = "/mnt/tf/www" (网站的根目录,可根据自己的情况改写,但要与lighttpd的配置相同)
memory_limit = 32M
extension=ctype.so
extension=curl.so
extension=gd.so
extension=mbstring.so
extension=mcrypt.so
extension=mysql.so
extension=pdo.so
extension=pdo_mysql.so
extension=session.so
extension=sockets.so
extension=tokenizer.so
extension=xml.so
extension=xmlreader.so
extension=xmlwriter.so
[Date]
date.timezone = prc (如果不改的话,有些程序会提示不安全或其他错误)
[MySQL]
mysql.default_socket = /var/run/mysqld.sock (不改的话,安装discuz的时候会提示socket错误)
启动php:
#/etc/init.d/php5-fastcgi enable#/etc/init.d/php5-fastcgi start
4.配置mysql
修改/etc/my.cnf
datadir = /mnt/tf/data/mysql/
tmpdir = /mnt/tf/data/tmp/
创建数据库文件夹
#mkdir -p /mnt/tf/data /mnt/tf/data/mysql /mnt/tf/data/tmp
创建默认的数据库
#/usr/bin/mysql_install_db --force
启动mysql
#/etc/init.d/mysqld start
输入如下命令创建mysql的密码
#/usr/bin/mysqladmin -u root password 123456
登陆数据库
#mysql -u root -p
连接上mysql之后,创建数据库(可以自己定义,记住就行了,之后会用到)
create database abcd
\g
查看当前可用数据库
show databases
\g
退出mysql
quit
四、安装owncloud
#cd /tmp
#wget http://download.owncloud.org/community/5/owncloud-5.0.18.tar.bz2
#opkg update
#opkg install tar
#cd /mnt/tf/www
#tar -xjf /tmp/owncloud-5.0.18.tar.bz2
#chown -R root:root /mnt/tf/www/owncloud
#chmod 770 -R /mnt/tf/www/owncloud/data
#cd /mnt/tf
#mkdir owncloud
#cd owncloud
#mkdir data
#chown -R root:root /mnt/tf/owncloud
#chmod 770 -R /mnt/tf/owncloud
登陆http;//xx.xx.xx.xx:81配置
会报数据库连接错误,根据错误内容新建mysql用户
grant all on *.* to 'oc_xx'@’%’ identified by '123456';
flush privileges;
安装5以上版本,会报:
设置语言为 en_US.UTF-8/fr_FR.UTF-8/es_ES.UTF-8/de_DE.UTF-8/ru_RU.UTF-8/pt_BR.UTF-8/it_IT.UTF-8/ja_JP.UTF-8/zh_CN.UTF-8 失败
Please install one of these locales on your system and restart your webserver.
错误,网上搜了一圈,无法解决此问题,其中一个方法:
修改wncloud/lib/private/util.php文件中的if ('' === basename('..')) { 把中文字用..代替
就是扯淡,最新的9.1.1版本就没这个文件,7版本有这个文件,但是里面根本就没中文,怎么改?
于是安装5.0.18版,成功运行,但是后台还是会报语言问题。
使用感受:
开始也装了4版本,发现没同步功能,直接删除了。
5版本倒是有同步功能,但是感觉界面不怎么样,上传文件居然连进度条都没有,内网上传个42KB的文件,转圈半天,也没个明显提示上传成功没,虽说服务器上确实已经有这个文件了,但是界面感觉不友好。手机端能连上服务器端,但是刷新半天,电脑端上传的文件也显示不出来。
最后要吐槽一下电脑客户端,新版本2.2.4不支持老版本5,于是下了个1.7的老版本,倒是支持了,但是作为开源软件居然后台强制升级,等于说只能用一次,退出后再打开就成新版本了。想要使用还要卸载再重新安装老版本,真他妈蛋疼。
下一步准备把系统换成openwrt原版最新的15.05.1版,因为此版本软件库里面有seafile的服务端版本,等试过seafile后再决定哪个作为个人长期用网盘。



本文地址:https://www.xxnet.eu.org/?post=221
版权声明:若无注明,本文皆为“点滴记忆---观雨亭”原创,转载请保留文章出处。

