Tag: Debian & Ubuntu
在 Apache 设定密码保护目录会使用 .htpasswd 这种档案,在 Nginx 有提供 auth_basic 模组,设定也很方便,以下是 Nginx 设定密码保护目录的方法。 首先建立储存使用者名称及加密密码的档案 .htpasswd,可以用 htpasswd 指令完成,以下会设定使用者名称是 username,密码档放在 /var/www/domain.com/member/ 目录下面: # htpasswd -c /var/www/domain.com/member/.htpasswd username 然后会出现提示,要求设定密码。 如果系统内没有安装 htpasswd,可以手动建立这个档案,每个使用者一行纪录。 在手动建立密码档前,需要先用 Perl 的 …
当网站从 http 转换到 https 后,想自动将前往 http 的访客自动导向到 https 页面,以下是 Nginx 设定 http 自动转址到 https 连线的设定方法。 以下假设网站域名是 mydomain.com, 会将所有 http 的连线自动导向到 https 的页面, 另外会将没有 www 的连线自动导向到 www 的网页: 加入以下三个 block, …
当 .tar 或 .tar.gz 压缩档容量十分大, 在解压前想先检视压缩档内的内容, 可以在 tar 指令加上 -tf 参数实现, 例如: $ tar -tf myfile 以上指令会将 myfile 内所有档案列出, 想要进行档案搜寻, 可以用 pipe 配合 grep 使用, 例如想列出所有 .php 档案, 可以这样: …
ss 指令的全写是 Socket Statistics, 顾名思义,它的作用是显示 Sockets 的统计资讯。ss 跟 netstat 指令差不多,但 ss 可以显示更多有关 TCP / UDP 及连线状态的资讯,而且由于 netstat 由 /proc 逐个资讯读取,而 ss 会由 kernel 直接读取数据,所以 ss 比 netstat 执行上更快速,尤其在连线数量多的时候。 以下是 …
Memcached 是一套开放源码的分布式内存快取系统, 目前已经有多个网站使用。在网站的应用上, 由于数据库的查询多数是读取, Memcached 先将数据库加以缓存, 那便可以减少数据库的读取, 从而增加效率。Memcached 在 PHP 另一个常用的地方是用作缓存 session。下文会示范在 Ubuntu 安装 Memcached 及 Memcached 的 PHP 模组。 1. 安装 Memcached 在 Ubuntu 安装 Memcached 十分简单, 可以直接用 …
在安装 MySQL 或 MariaDB 服务器后, 当执行 mysql_secure_installation 后会完成一些基本的安全设定, 其中一项就是设定 root 的密码。 如果在往后忘记了这个 MySQL root 密码, 可以用以下方法重设, 以下文章会以 CentOS 环境作为例子. 首先将运行中的 MySQL Server 停止执行: # systemctl stop mariadb 或 # …
今天编译安装 Apache, Apache 的默认安装目录是 /usr/local/apache2, 但我将它安装到 /usr/local/apache, 但在编译时出现以下错误: 原因可能是之前编译 Apache 时, 有一些纪录是安装到 /usr/local/apache2 所致, 解决方法是有两个: 1. 执行 make clean 指令, 再重新编译。 2. 将原始码的目录删除, 再重新解压 Apache 的源始码, 再进行编译安装即可。
Linux 下找档案很多时会用上 find 指令,当用 find 指令找到档案或目录后,可以在后面加上 -exec 参数,来对每一个找到的档案或目录执行特定指令。 find 指令加上 -exec 参数的具体语法是这样: $ find /path/to -name “filename” -exec command {} \; 在 -exec 前面是 find 指令找出想要的档案,在 -exec 后面的 command …
不管系统管理还是写程式,在档案内对字串进行搜寻并取代十分常用,在 Unix Like 环境下常会用 sed 或 perl 做 search & replace. 如果在开启档案后需要取代字串,其实在 vi 及 vim 内同样可以做搜查及取代字串,做法跟 sed 差不多,以下是 vi 做搜寻及取代的语法: :%s/search_from/replace_to/g 以上 vi 的语法会将档案内,所有 “search_from” 的字串替换成 “replace_to”。 将上面指令最后加上一个 “c” …
当需要在两台主机间执行指令,可以用 SSH 直接传送要执行的指令,该远端主机直接执行,而无需登入另一台主机。 以下是具体指令的语法: 上面的 “user” 是登入帐号的使用者名称,remote.server 是远端主机,而 “ls -l” 是要执行的指令。当执行以上指令后,如果系统没有设定自动免密码登入,会询问远端主机的密码,输入密码后会在远端执行指令,并输出执行结果。 如果要同时执行多个指令,可以用 “;” 或 “&&” 分隔,例如: 或 如果需要用 Shell Script 执行远端指令,当需要在指令加入变量,需要将上面的单引号,改成双引号,例如: 最后是执行类似 top 这类互动模式的指令,只要加入 -t 选项即可: 除了 top 后,也可以用在 …