首页
关于本博客
友情链接
推荐
linux/shell
Search
1
LEDE官方固件安装中文语言包的方法
11,087 阅读
2
LEDE固件踢出弱信号客户端,实现WiFi无缝漫游脚本
9,183 阅读
3
基于CloudFlare API的纯Shell动态DNS(DDNS)脚本
8,153 阅读
4
一次OpenVPN交叉编译笔记
6,664 阅读
5
利用iptables的string模块来屏蔽域名(关键词匹配)
6,111 阅读
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
C#
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
nginx
互联网应用
IP地址段汇总
登录
Search
标签搜索
nginx
OpenWrt
openvpn
SSH
seafile
cloudflare
iptables
openssl
linux
letsencrypt
CentOS
反向代理
ftp
openvpn配置模板
vsftpd
seafile网盘
Linux启动脚本
ddns
nas
seafile服务器
自渡
累计撰写
75
篇文章
累计收到
1
条评论
首页
栏目
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
C#
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
nginx
互联网应用
IP地址段汇总
页面
关于本博客
友情链接
推荐
linux/shell
搜索到
4
篇与
php
的结果
2024-11-06
PHP使用SSH连接并控制服务器
在php中如果想通过 SSH 连接到服务器执行命令并返回结果,可以使用php的 ssh2 扩展。下面是我编写的一个简单的代码,记录使用 ssh2扩展连接到远程服务器并执行命令的过程。
2024年11月06日
10 阅读
0 评论
0 点赞
2024-10-18
LibreSpeed——在本地搭建一台网速测试服务器
LibreSpeed是Github上的一个基于PHP和HTML的开源速度测试服务器项目,该项目可在Web上进行速度测试。平时我们在做网速测试时测的都是公网的速度,如果我们要在内网做测速,或者要测试到云服务器的连接速度,可以在服务器上部署该项目。项目地址:https://github.com/librespeed/speedtestDEMO中科大、南京大学等高校也使用该源码搭建了测速服务器。中科大测速网站:https://test.ustc.edu.cn/南京大学测速网站:https://test.nju.edu.cn/官方介绍没有 Flash、没有 Java、没有 Websocket、没有废话。这是一个用 Javascript 实现的非常轻量级的速度测试,使用了 XMLHttpRequest 和 Web Workers。支持所有现代浏览器:IE11、最新 Edge、最新 Chrome、最新 Firefox、最新 Safari。也适用于移动版本。官方列出的部署要求:如果仅使用测速功能,不进行数据存储,则可以不需要MySQL,只需要Web服务器+PHP环境就行。一个速度相当快的 Apache 2 Web 服务器(也支持 nginx、IIS)PHP 5.4 或更新版本(其他后端也可用)MariaDB 或 MySQL 数据库存储测试结果(可选,也支持 Microsoft SQL Server、PostgreSQL 和 SQLite)安装方法推荐使用Ubuntu系统,首先使用apt一键安装所需的软件包apt update apt install nginx php php-fpm unzip下载并解压源码,确定网站目录mkdir -p /home/wwwroot/ wget -O /home/wwwroot/ https://github.com/librespeed/speedtest/archive/refs/heads/master.zip cd /home/wwwroot && unzip speedtest-master.zip && mv speedtest-master speedtest 新建一个nginx配置文件nano /etc/nginx/conf.d/speedtest.conf #加入以下内容 server { listen 80; server_name 你的域名; root /home/wwwroot/speedtest; index index.html; location / { allow all; } location ~ [^/]\.php(/|$) { try_files $uri =404; fastcgi_pass unix:/run/php/php8.3-fpm.sock; fastcgi_index index.php; include fastcgi.conf; fastcgi_read_timeout 300s; } } 使用Ctrl+O写入,并使用Ctrl+X退出修改php配置nano /etc/php/8.3/fpm/pool.d/www.conf #加入以下内容后保存 listen = /run/php/php8.3-fpm.sock 启动nginx和phpsystemctl start nginx systemctl start php-fpm8.3补充源码里包含了多个HTML模板,在examples目录里,这里建议使用example-singleServer-gauges.html这个模板比较好看,模板默认都做了移动端适配。
2024年10月18日
48 阅读
0 评论
0 点赞
2018-11-22
企业NAS部署(二)之实现用户自助修改密码
搭建好nas后,问题又来了,就是用户密码问题。之前部署NAS,用户密码都是在命令行下导入的,修改密码也只能通过命令行,要让用户使用Linux命令行来修改或者重置密码,那是不可能的。而我唯一能想到的,就是用php写一个web页面,通过表单提交的方式,让php来替用户执行shell命令,达到自助修改密码的目的。PHP代码<?php function replaceSpecialChar($strParam){ $regex = "/\ |\/|\~|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\_|\+|\{|\}|\:|\<|\>|\?|\[|\]|\,|\.|\/|\;|\'|\`|\-|\=|\\\|\|/"; return preg_replace($regex,"",$strParam); } ?> <html> <head> <meta charset="utf-8"> <title>NAS密码自助修改页面</title> </head> <body bgcolor="#CCFFCC"> <br><br> <p><center><h2>NAS密码自助修改</h2></center></p> <form action="changepass.php" method="POST" submit=""><center> <p><span>NAS用户名:</span><input type="text" name="username" placeholder="用户名"></p> <p><span>NAS新密码:</span><input type="password" name="passwd" placeholder="新密码"></p> <p><button>修改</button></p> </center></form> <br><br> <p><h2>操作说明</h2></p> <li>请勿使用特殊字符作为账户名或密码,使用特殊字符将导致密码错误。</li> <li>该系统仅可修改已注册用户的密码,无法添加新用户。</li> <?php $username=$_POST["username"]; $username=replaceSpecialChar($username); $passwd=$_POST["passwd"]; $passwd=replaceSpecialChar($passwd); if (!$_POST["username"]){ echo ""; }elseif (!$_POST["passwd"]){ echo ""; }else{ exec("(sudo echo ".$passwd.";echo ".$passwd.") | sudo smbpasswd -s -a ".$username.""); echo "<br><strong>操作提示:</strong>修改成功,当前用户名".$username."对应的密码已被修改为".$passwd.",请牢记。"; } ?> </body> </html>使用说明要求的环境:php+nginx,关于二者的编译与安装,在本站https://www.zavierlab.com/post/49.html这个页面里已有详细说明,不再重复写。通过编译安装的php,其配置文件在/usr/local/php/etc/php.ini里面,要想使用php执行shell命令,就必须确保配置里面exec函数没有被禁用。查看办法是打开该配置文件,找到disable_function = 这一行(一般在305行),等号后面的函数表示被禁用的函数。该代码内使用到了sudo命令,所以必须给php使用的用户适当的sudo免密码权限,以确保能够正常执行echo和smbpasswd命令。假设php是以www用户身份运行的,则必须给www用户适当的sudo权限,方法是:使用vi在/etc/sudoers.d/下创建一个名为www的文件并编辑vi /etc/sudoers.d/www 加入以下内容 #分别设置echo和smbpasswd命令的别名 Cmnd_Alias CHANGE_SMBPASS = /usr/bin/smbpasswd Cmnd_Alias ECHO = /bin/echo #设置www用户在执行smbpasswd和echo命令时,无需密码 www ALL=(ALL) NOPASSWD:CHANGE_SMBPASS,ECHO 编辑后保存即可生效。接下来还需要用nginx配置web服务器并对php代码进行解析,配置如下:现在/home/wwwroot/下创建一个changenaspwd目录,将该php文件传入目录内,且将该文件命名为index.phpmkdir -p /home/wwwroot/changenaspwd 在/usr/local/nginx/conf/vhost/下创建一个文件,文件名自定义,扩展名必须为.confvi /usr/local/nginx/conf/vhost/changenaspwd.conf配置文件如下:server { listen 80 default; access_log /home/wwwlogs/changenaspwd.log; root /home/wwwroot/changenaspwd; index index.php; location ~ [^/]\.php(/|$) { fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } }保存后,同时启动php和nginxservice nginx start service php-fpm start
2018年11月22日
1,592 阅读
0 评论
0 点赞
2018-08-15
在LNMP环境下用Cloudreve搭建轻量级网盘系统
简介cloudreve是一款国产的轻量级网盘系统,基于ThinkPHP构建,定位为公私兼备的网盘系统。详细介绍可查看作者在v2ex发布的说明:https://www.v2ex.com/t/429092先前用过NextCloud、OwnCloud、可道云等一些云盘系统,但是都不如我意,前二者都太过臃肿,比如NextCloud加载速度过慢,且对主机性能还有PHP要求较高,所以我用了一段时间便放弃了,到后来我发现了Cloudreve,这确实是一款优秀的云盘系统,加载速度快,且在线编辑文档、浏览视频图片等网盘的基本功能都一一具备。据作者介绍,目前已实现的功能有:快速对接多家云存储,支持七牛、又拍云、阿里云 OSS、AWS S3,当然,还有本地存储可限制单文件最大大小、MIMEType、文件后缀、用户可用容量图片、音频、视频、文本、Markdown、Ofiice 文档 在线预览移动端全站响应式布局文件、目录分享系统,可创建私有分享或公开分享链接用户个人主页,可查看用户所有分享多用户系统、用户组支持初步完善的后台,方便管理拖拽上传、分片上传、断点续传、下载限速(*实验性功能)多上传策略,可为不同用户组分配不同策略用户组基础权限设置WebDAV 协议支持服务器配置要求及配置文件环境:Linux+nginx+MySQL+PHPPHP版本要求:PHP5.6及以上,要求有curl、fileinfo、gd扩展。获取程序源码:git clone https://github.com/HFO4/Cloudreve 创建web目录及用phpmyadmin配置好Cloudreve所使用的数据库后,将源码包解压到web目录,将mysql.sql导入数据库。导入完毕后,将目录下的mysql.sql和deploy.sh删除,并保证runtime目录有写入权限(可使用chown -R web用户 web目录 命令将整个目录的拥有者设为web用户拥有),同时,为了安全,须配置SSL证书,可使用letsencrypt的免费证书。Nginx的配置文件:server { listen 80; server_name pan.yourdomain.com; #你的域名 rewrite ^(.*)$ https://pan.yourdomain.com; #配置302跳转到https } server #https配置 { listen 443; ssl on; ssl_certificate /etc/https/yourdomain.com/server.crt; #证书存放目录 ssl_certificate_key /etc/https/yourdomain.com/server.key; #私钥存放目录 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20- draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5"; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; server_name pan.yourdomain.com; root 填写你的web目录; index index.php; access_log 填写生成日志目录; #配置日志 location ~ [^/]\.php(/|$) #开启php { fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; fastcgi_split_path_info ^(.+?\.php)(/.*)$; set $path_info $fastcgi_path_info; fastcgi_param PATH_INFO $path_info; try_files $fastcgi_script_name =404; } location / { client_max_body_size 2000M; #最大上传文件大小配置,须另外在php.ini里面配置 if (!-e $request_filename) #重写规则配置 { rewrite ^(.*)$ /index.php?s=/$1 last; break; } } location ^~ /public/uploads/ #若干安全配置,禁止未授权客户直接访问敏感目录及文件 { deny all; } location ^~ /public/thumb/ { deny all; } location ^~ /runtime/log/ { deny all; } location ~ .*\.(json)?$ { deny all; } location ~ .*\.(js|css)?$ #js和css后缀文件缓存在本地,加快网页打开速度 { expires 12h; } location ~ /\. { deny all; } }
2018年08月15日
2,782 阅读
0 评论
0 点赞