跳至正文

潘多拉搭建 mysql+php+kodexplorer

1.准备外置u盘

纯净openwrt需要选择安装以下usb驱动

opkg install kmod-usb-ohci            #支持部分USB芯片的驱动
opkg install kmod-usb2                #USB2.0驱动
opkg install kmod-usb-storage         #USB储存驱动
opkg install block-mount              #挂载程序(安装完成后重启会在LuCI界面的System下出现Moint Point选项)

插上USB设备,重启之后可能会在Moint Point下出现这个设备。或者通过登录路由器的命令提示符界面 cd /dev 下会有sda字样的设备(也可能是其他)

此时或许USB设备还能使用,需要安装分区文件支持的驱动例如:

opkg install kmod-fs-ext4            #支持EXT4分区格式
当然也可以安装其他,如:
opkg install kmod-fs-vfat             #挂载FAT
opkg install kmod-fs-ext2             #安装ext2分区支持
opkg install ntfs-3g                 #挂载NTFS
opkg install kmod-fs-ntfs             #ntfs内核驱动

如果需要将U盘格式化为EXT4的话需要安装如下工具:

opkg install e2fsprogs

格式化命令如下:

mkfs.ext4 /dev/sda1

完成后使用luci挂载点或者使用mounnt命令进行挂载

有时挂载FAT等格式的U盘时,可能需要添加参数如: mount -t vfat /dev/sda /mnt/sda1

2.设置软件安装到u盘

编辑/etc/opkg.conf文件,在 dest root/ 下添加一行

dest usb /mnt/sda1/optware

编辑/etc/profile文件,添加两行代码,设置环境变量

export LD_LIBRARY_PATH="/mnt/sda1/optware/usr/lib:/mnt/sda1/optware/lib"
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/mnt/sda1/optware/usr/bin:/mnt/sda1/optware/usr/sbin

让设置立即生效

source /etc/profile

至此,通过opkg install XXXX -d usb 来指定安装至/mnt/sda1/optware目录下了

3.安装mysql

opkg update 更新源
opkg install mysql-server -d usb 安装到u盘

配置mysql

vi /etc/my.cnf
修改以下项

basedir = /mnt/sda1/optware/usr
datadir = /mnt/sda1/optware/mysqldate/data/mysql/
tmpdir = /mnt/sda1/optware/mysqldate/data/tmp/
bind-address = 127.0.0.1

创建数据库文件夹

mkdir /mnt/sda1/optware/mysqldate
mkdir /mnt/sda1/optware/mysqldate/data/mysql/
mkdir /mnt/sda1/optware/mysqldate/data/tmp/

创建默认的数据库

/mnt/sda1/optware/usr/bin/mysql_install_db --force --basedir=/mnt/sda1/optware/usr


–basedir=/mnt/sda1/optware/usr 用来指定安装目录

设置软链接 ln -s 源文件 目标文件
rm -rf 软链接目录/文件 即可删除软连接

/etc/my.cnf
/etc/init.d/mysqld
/usr/bin/mysqld 不链接不能自启动
这两个文件必须创建软连接

启动mysql
/mnt/sda1/optware/etc/init.d/mysqld start

输入如下命令创建mysql的密码
/mnt/sda1/optware/usr/bin/mysqladmin -u root password root

可使用sql命令修改密码

set password for root@localhost = password('new passwd');  

登陆数据库
mysql -u root -p

连接上mysql之后,创建数据库(可以自己定义,记住就行了,之后会用到)
create database abcd

查看当前可用数据库
show databases

退出mysql
exit

远程登录
mysql -h ip -u root -p
如果出现
ERROR 1045 (28000): Access denied for user ‘ODBC’@’localhost’ (using password: NO)
ERROR 1045 (28000): Access denied for user ‘ODBC’@’localhost’ (using password: YES)
类似错误
修改密码后刷新数据库
flush privileges;
刷新数据库

4.安装php环境

kodbox推荐php5.3以上,根据实际需求安装对应版本

opkg update

opkg install php5 php5-cgi php5-mod-curl php5-mod-hash php5-mod-json php5-mod-mcrypt php5-mod-mysql php5-mod-pdo php5-mod-pdo-mysql php5-mod-session php5-mod-xml zoneinfo-asia

php7没有mysql扩展,需要自行编译安装

接下来修改/etc/php.ini

extension=curl.so
extension=hash.so
extension=json.so
extension=mcrypt.so
extension=mysql.so
extension=pdo.so
extension=pdo-mysql.so
extension=session.so
extension=xml.so
extension=xmlreader.so
extension=xmlwriter.so
找到extension,把以上这些扩展前面的分号去掉,这样php就能正确识别扩展。还要修改时区,将;date.timezone改为

date.timezone = Asia/Shanghai
修改doc_root =为(这个是我的,每个人都有自己的路径)

doc_root = “wordpress完整目录”
大概这样子就搞好了php

使用phpinfo检测如果出现Loaded Configuration File为none的错误或者不能正常加载扩展,需要将php.ini文件软连接到/etc目录下
或者使用strace ./php-cgi -i 2>1.log
 进行跟踪查看php访问的文件目录

设置uhttpd
打开/etc/config/uhttpd,在最后添加

config uhttpd ‘web’
list listen_http ‘0.0.0.0:8080’
option home ‘/mnt/sda1/www’ U盘中wordpress的目录
option cgi_prefix ‘/cgi-bin’
option index_page ‘index.php index.html’
list interpreter ‘.php=/usr/bin/php-cgi’ u盘中的路径
option redirect_https ‘0’
解释一下,其中8080是端口,你可以修改,但别和luci的端口冲突了;/mnt/sda1/www则是网页根目录,和php.ini.中的路径要一致。

ssh进去,重启uhttpd
不成功的话建议重启路由器

/etc/init.d/uhttpd restart
打开浏览器,访问192.168.1.2:8080

发表回复