先安装 PHP..
https://jasonmun.blogspot.my/2017/01/lnmp.html
Ubuntu
$ sudo apt install php
$ sudo apt install php-curl php-gd php-mbstring php-xml php-zip
从网络复制 composer-setup.php 文件, 然后通过 PHP 安装之..
$ cd ~
$ php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"
将 composer 命令移动到系统中
$ sudo mv composer.phar /usr/local/bin/composer
检查与更新版本
$ composer --version
$ composer selfupdate
软件库配置
$ composer config -g repo.packagist composer https://packagist.phpcomposer.com
广告
本站里的文章大部分经过自行整理与测试
2018年5月18日星期五
Ubuntu - Laravel 5.6 - Homestead 安装
Homestead 是 Laravel (PHP 框架) 准备好的开发环境
它是个虚拟机, 用 VirtualBox + Vagrant 运行
(其实 Vmware 也行, 但 Vagrant 是必须)
1) 安装 VirtualBox + Vagrant + SSH
$ sudo apt install ssh virtualbox vagrant
2) 安装 Homestead Vagrant Box
(我网速 10Mbps 也花了几次才能成功安装, 安装完要 1 个小时多)
$ vagrant box add laravel/homestead
3) 安装 / 初始化 / 配置 Homestead Vagrant Box
3.1) 安装
$ cd ~
$ git clone https://github.com/laravel/homestead.git Homestead
$ cd ~/Homestead
# 去官网检查现在的最新版本号 https://github.com/laravel/homestead/releases
$ git checkout v7.6.0
3.2) 初始化 Homestead
$ bash init.sh
3.3) 研究下 Homestead 配置
$ gedit Homesstead.yaml
4) 有用到 SSH, 本地需生成公钥与私钥 (~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub)
$ ssh-keygen -t rsa -P ""
5) 启动 Homestead Vagrant Box 虚拟机
$ cd ~/Homestead
$ vagrant up
网卡部分可能会界面不是 eth1 而出现错误,
进去虚拟机安装 ifupdown 后, 问题就可解决了
mesg: ttyname failed: Inappropriate ioctl for device
bash: line 4: /sbin/ifdown: No such file or directory
bash: line 20: /sbin/ifup: No such file or directory
$ vagrant ssh
vagrant@homestead:~$ sudo apt install ifupdown
vagrant@homestead:~$ exit
6) larabbs 例子
6.1) 下载
$ cd ~ && mkdir -p code
$ cd ~/code
$ git clone https://github.com/summerblue/larabbs
6.2) Homestead 配置改后, 重载之..
$ cd ~/Homestead
$ gedit Homestead.yaml
folders:
- map: ~/code/larabbs/
to: /home/vagrant/larabbs
sites:
- map: larabbs.test
to: /home/vagrant/larabbs/public
databases:
- larabbs
$ vagrant reload
6.3) 安装扩展包 ~/code/larabbs/vendor,
会映射到虚拟机 /home/vagrant/larabbs/vendor
6.3.1) 本地安装, 但先要安装 composer
$ cd ~/code/larabbs
$ composer install
PHP - composer 命令安装
https://jasonmun.blogspot.my/2018/05/php-composer.html
6.3.2) 虚拟机上安装 (可以跳去 6.5 上安装)
$ cd ~/Homestead
$ vagrant ssh
vagrant@homestead:~$ cd /home/vagrant/larabbs
vagrant@homestead:~$ composer install
vagrant@homestead:~$ exit
6.4) 准备 .env 文件 (里面配置了 mysql 用户与密码)
6.4.1) 本地安装
$ cd ~/code/larabbs
$ cp .env.example .env
6.4.2) 虚拟机上安装 (可以跳去 6.5 上安装)
$ cd ~/Homestead
$ vagrant ssh
vagrant@homestead:~$ cd /home/vagrant/larabbs
vagrant@homestead:~$ cp .env.example .env
vagrant@homestead:~$ exit
6.5) 进入 Homestead 虚拟机, 准备秘钥 / 数据库 / 数据
$ cd ~/Homestead
$ vagrant ssh
vagrant@homestead:~$ mysql -u homestead -psecret
mysql> show databases;
mysql> create database larabbs;
mysql> exit
vagrant@homestead:~$ cd /home/vagrant/larabbs
vagrant@homestead:~$ php artisan key:generate
vagrant@homestead:~$ php artisan migrate --seed
vagrant@homestead:~$ exit
* 秘钥也可以在本地生成, 如果本地也有安装 php7
6.6) 在 /etc/hosts 文件添加 (192.168.10.10 也就是 homestead 虚拟机)
$ echo "192.168.10.10 larabbs.test" | sudo tee -a /etc/hosts
6.7) 浏览
http://larabbs.test
6.8) 关闭虚拟机
$ cd ~/Homestead
power off 关闭虚拟机 (再启动, 用 vagrant up 即可继续)
$ vagrant halt
已不再要了(再启动, 用 vagrant up, 但需要再安装 ifupdown / 数据库 / 数据 )
$ vagrant destroy
它是个虚拟机, 用 VirtualBox + Vagrant 运行
(其实 Vmware 也行, 但 Vagrant 是必须)
1) 安装 VirtualBox + Vagrant + SSH
$ sudo apt install ssh virtualbox vagrant
2) 安装 Homestead Vagrant Box
(我网速 10Mbps 也花了几次才能成功安装, 安装完要 1 个小时多)
$ vagrant box add laravel/homestead
3) 安装 / 初始化 / 配置 Homestead Vagrant Box
3.1) 安装
$ cd ~
$ git clone https://github.com/laravel/homestead.git Homestead
$ cd ~/Homestead
# 去官网检查现在的最新版本号 https://github.com/laravel/homestead/releases
$ git checkout v7.6.0
3.2) 初始化 Homestead
$ bash init.sh
3.3) 研究下 Homestead 配置
$ gedit Homesstead.yaml
4) 有用到 SSH, 本地需生成公钥与私钥 (~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub)
$ ssh-keygen -t rsa -P ""
5) 启动 Homestead Vagrant Box 虚拟机
$ cd ~/Homestead
$ vagrant up
网卡部分可能会界面不是 eth1 而出现错误,
进去虚拟机安装 ifupdown 后, 问题就可解决了
mesg: ttyname failed: Inappropriate ioctl for device
bash: line 4: /sbin/ifdown: No such file or directory
bash: line 20: /sbin/ifup: No such file or directory
$ vagrant ssh
vagrant@homestead:~$ sudo apt install ifupdown
vagrant@homestead:~$ exit
6) larabbs 例子
6.1) 下载
$ cd ~ && mkdir -p code
$ cd ~/code
$ git clone https://github.com/summerblue/larabbs
6.2) Homestead 配置改后, 重载之..
$ cd ~/Homestead
$ gedit Homestead.yaml
folders:
- map: ~/code/larabbs/
to: /home/vagrant/larabbs
sites:
- map: larabbs.test
to: /home/vagrant/larabbs/public
databases:
- larabbs
$ vagrant reload
6.3) 安装扩展包 ~/code/larabbs/vendor,
会映射到虚拟机 /home/vagrant/larabbs/vendor
6.3.1) 本地安装, 但先要安装 composer
$ cd ~/code/larabbs
$ composer install
PHP - composer 命令安装
https://jasonmun.blogspot.my/2018/05/php-composer.html
6.3.2) 虚拟机上安装 (可以跳去 6.5 上安装)
$ cd ~/Homestead
$ vagrant ssh
vagrant@homestead:~$ cd /home/vagrant/larabbs
vagrant@homestead:~$ composer install
vagrant@homestead:~$ exit
6.4) 准备 .env 文件 (里面配置了 mysql 用户与密码)
6.4.1) 本地安装
$ cd ~/code/larabbs
$ cp .env.example .env
6.4.2) 虚拟机上安装 (可以跳去 6.5 上安装)
$ cd ~/Homestead
$ vagrant ssh
vagrant@homestead:~$ cd /home/vagrant/larabbs
vagrant@homestead:~$ cp .env.example .env
vagrant@homestead:~$ exit
6.5) 进入 Homestead 虚拟机, 准备秘钥 / 数据库 / 数据
$ cd ~/Homestead
$ vagrant ssh
vagrant@homestead:~$ mysql -u homestead -psecret
mysql> show databases;
mysql> create database larabbs;
mysql> exit
vagrant@homestead:~$ cd /home/vagrant/larabbs
vagrant@homestead:~$ php artisan key:generate
vagrant@homestead:~$ php artisan migrate --seed
vagrant@homestead:~$ exit
* 秘钥也可以在本地生成, 如果本地也有安装 php7
6.6) 在 /etc/hosts 文件添加 (192.168.10.10 也就是 homestead 虚拟机)
$ echo "192.168.10.10 larabbs.test" | sudo tee -a /etc/hosts
6.7) 浏览
http://larabbs.test
6.8) 关闭虚拟机
$ cd ~/Homestead
power off 关闭虚拟机 (再启动, 用 vagrant up 即可继续)
$ vagrant halt
已不再要了(再启动, 用 vagrant up, 但需要再安装 ifupdown / 数据库 / 数据 )
$ vagrant destroy
2018年3月17日星期六
配置 HugePages 提高 Linux 性能
1) 检查
$ su
$ grep Huge /proc/meminfo
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
从上面输出可以看到,每个页的大小为 2MB(Hugepagesize),
并且系统中目前有 0 个“大内存页”(HugePages_Total)。
这里“大内存页”的大小可以从 2MB 增加到 1GB。
2) 运行下面的脚本可以知道系统当前需要多少个巨大页
# 根据你的目前内核, 可能需要修改 hugepages.sh, 不然程序不运行
$ wget https://github.com/yomun/linux-init/raw/master/linux/hugepages.sh
$ sh hugepages.sh
Recommended setting: vm.nr_hugepages = 13
2.1) /etc/sysctl.conf 中,
写入以下这行 (以上知道需要 13 页, 为了效果更好, 加多2页),
然后输入 sysctl -p 让它生效
$ gedit /etc/sysctl.conf
vm.nr_hugepages=15
$ sysctl -p
2.2) /etc/security/limits.conf 中,写入以下2行, 然后重启
$ gedit /etc/security/limits.conf
# 15 x 2 (MB) x 1024 = 30720
soft memlock 30720
hard memlock 30720
3) 检查
# Ubuntu
$ cat /sys/kernel/mm/transparent_hugepage/enabled
always [madvise] never
# Red Hat
$ cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
4) 禁用 “大内存页”
则在 /etc/grub.conf 中的 kernel 行
后面加上 transparent_hugepage=never,
然后重启系统
$ su
$ grep Huge /proc/meminfo
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
从上面输出可以看到,每个页的大小为 2MB(Hugepagesize),
并且系统中目前有 0 个“大内存页”(HugePages_Total)。
这里“大内存页”的大小可以从 2MB 增加到 1GB。
2) 运行下面的脚本可以知道系统当前需要多少个巨大页
# 根据你的目前内核, 可能需要修改 hugepages.sh, 不然程序不运行
$ wget https://github.com/yomun/linux-init/raw/master/linux/hugepages.sh
$ sh hugepages.sh
Recommended setting: vm.nr_hugepages = 13
2.1) /etc/sysctl.conf 中,
写入以下这行 (以上知道需要 13 页, 为了效果更好, 加多2页),
然后输入 sysctl -p 让它生效
$ gedit /etc/sysctl.conf
vm.nr_hugepages=15
$ sysctl -p
2.2) /etc/security/limits.conf 中,写入以下2行, 然后重启
$ gedit /etc/security/limits.conf
# 15 x 2 (MB) x 1024 = 30720
soft memlock 30720
hard memlock 30720
3) 检查
# Ubuntu
$ cat /sys/kernel/mm/transparent_hugepage/enabled
always [madvise] never
# Red Hat
$ cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
4) 禁用 “大内存页”
则在 /etc/grub.conf 中的 kernel 行
后面加上 transparent_hugepage=never,
然后重启系统
2018年2月22日星期四
Linux - Tomb 文件加密
- Tomb 像个加密文件夹, 你只需要将要加密的文件写在里面即可
- 使用与 Veracrypt 类似的 AES-256 加密标准.这个标准适用于 NSA 、微软和 Apple,并被认为是最安全的加密算法之一
- 专门为 GNU/Linux 系统开发的
- Tomb 是开源的, 但它使用的是静态链接库, 以至于其源代码难以审计
- gtomb 是它的 GUI
安装
$ sudo vi /etc/apt/sources.list.d/sparky-repo.list
deb https://sparkylinux.org/repo stable main
deb-src https://sparkylinux.org/repo stable main
deb https://sparkylinux.org/repo testing main
deb-src https://sparkylinux.org/repo testing main
$ sudo apt-get update
sudo apt-get install sparky-keyring
# wget -O - https://sparkylinux.org/repo/sparkylinux.gpg.key | sudo apt-key add -
$ sudo apt-get install gtomb tomb
或
$ sudo dnf/yum/apt-get install zsh gnupg cryptsetup pinentry-curses
$ wget https://github.com/dyne/Tomb/archive/v2.5.tar.gz
$ tar zxvf v2.5.tar.gz
$ cd Tomb-2.5
$ sudo make install
基本应用
1) 制作 100MB 的 Tomb 文件
$ tomb dig -s 100 Tomb1.tomb
2) 先暂时的关掉 SWAP 分区
$ sudo swapoff -a
或
# 永久的将 swap 分区 remarks 掉 (用 # 符号)
$ sudo gedit /etc/fstab
3) 制作 key, 需要配置密码 (2次)
$ tomb forge Tomb1.tomb.key
4) 用 key 锁上 Tomb, 需要密码
$ tomb lock Tomb1.tomb -k Tomb1.tomb.key
5) 用 key 打开 Tomb, 需要密码
$ tomb open Tomb1.tomb -k Tomb1.tomb.key
6) 关闭 Tomb, 需要密码
$ tomb close
7) 强制关闭所有打开的 Tomb
$ tomb slam all
2018年2月19日星期一
用 qq.com 电子邮件
1) 进入 QQ 邮箱 mail.qq.com 的设置 - 账户 -
POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
开启服务:
2) 如果按 [开启]
2.1) 第一次按 [开启], 会先要求申请第二代密保 (手机号注册)
在手机下载 [QQ安全中心] APP
[工具] 里会显示6个数字的动态密码
https://play.google.com/store/apps/details?id=com.tencent.token
https://itunes.apple.com/hk/app/qq%E5%AE%89%E5%85%A8%E4%B8%AD%E5%BF%83/id387109554?mt=8
2.2) 第二次按 [开启], 会要求输入以上动态密码, 然后生成 16个英文字母
3) 在 Email APP - Add account
填写 Email address (user@qq.com) 和 Password (用以上 16个英文字母密码)
4) 仔细的服务配置
IMAP 服务
imap.qq.com
SSL
993
SMTP 服务
smtp.qq.com
SSL
465
POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
开启服务:
- POP3/SMTP服务 - 开启
- IMAP/SMTP服务 - 开启
2) 如果按 [开启]
2.1) 第一次按 [开启], 会先要求申请第二代密保 (手机号注册)
在手机下载 [QQ安全中心] APP
[工具] 里会显示6个数字的动态密码
https://play.google.com/store/apps/details?id=com.tencent.token
https://itunes.apple.com/hk/app/qq%E5%AE%89%E5%85%A8%E4%B8%AD%E5%BF%83/id387109554?mt=8
2.2) 第二次按 [开启], 会要求输入以上动态密码, 然后生成 16个英文字母
3) 在 Email APP - Add account
填写 Email address (user@qq.com) 和 Password (用以上 16个英文字母密码)
4) 仔细的服务配置
IMAP 服务
imap.qq.com
SSL
993
SMTP 服务
smtp.qq.com
SSL
465
2018年2月18日星期日
android 上用 icloud.com 电子邮件
1) 登录 Apple ID 帐户页面 (需已经打开了双重认证)
https://appleid.apple.com/account/home
2) 在 Security - APP-SPECIFIC PASSWORDS - Generate Password
生成一次性 APP 密码 abcd-efgh-ijkl-mnop
3) 在 Email APP - Add account
填写 Email address (user@icloud.com) 和 Password (用以上 APP 密码)
4) 仔细的服务配置
IMAP 服务
imap.mail.me.com
SSL
993
SMTP 服务
smtp.mail.me.com
TLS
587
https://appleid.apple.com/account/home
2) 在 Security - APP-SPECIFIC PASSWORDS - Generate Password
生成一次性 APP 密码 abcd-efgh-ijkl-mnop
3) 在 Email APP - Add account
填写 Email address (user@icloud.com) 和 Password (用以上 APP 密码)
4) 仔细的服务配置
IMAP 服务
imap.mail.me.com
SSL
993
SMTP 服务
smtp.mail.me.com
TLS
587
2018年2月16日星期五
Ubuntu 上用 OpenVPN Access Server
1.1) 主机的静态 Private_IP 192.168.X.X
192.168.X.X 可用 ifconfig 检查
如果没有, 可自己配置
http://jasonmun.blogspot.my/2017/01/linux-network-settings-ip.html
或也可检查 router modem, 在里面 LAN Setup 配置 DHCP
1.2) 开 port 和 Port Forward
router modem 要做 port forward 到以上 Private_IP
1194 (预设用 UDP 协议) 和 943 (预设用 TCP 协议)
如果有安装 firewall, 也需要将这 2 个 Port 打开
2) 下载与安装 OpenVPN Access Server
https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html
$ su
Ubuntu
$ dpkg -i openvpn-as-2.5-Ubuntu16.amd_64.deb
CentOS 7
$ rpm -ivh openvpn-as-2.1.12-CentOS7.x86_64.rpm
3) OpenVPN Access Server 配置
3.1) 配置 openvpn 户口密码
$ passwd openvpn
进 https://192.168.X.X:943/admin
3.2) 网络配置
Configuration - Network Settings - Hostname or IP Address
从 192.168.X.X Private_IP 改为 Public_IP,
如果没有固定的 Public_IP,
但有 Hostname (jasonmun.dlinkddns.com), 放 Hostname 更好,
以后不会因 IP 的改变, 而需要改配置
(UDP Port number 1194 也可以改)
3.3) 配置自动登入
User Management - User Permissions
- openvpn 户口 - 选 allow Auto-login - Save Settings
3.4) 重启服务
Status - Status Overview
- Stop the Server - Confirm Servers Stop - Start the Server
4) 从 OpenVPN Access Server 取得 autologin profile (client.ovpn)
进 https://192.168.X.X:943/
或 https://Public_IP:943/
或 https://Hostname:943/
用 openvpn 户口登入
点选 Yourself (autologin profile) , 得到 client.ovpn
5) 无论在什么平台上安装 OpenVPN 客户端,
只要 import 上 client.ovpn 即可连接
(Free license 能够同时连接 2 个设备)
https://play.google.com/store/apps/details?id=net.openvpn.openvpn
https://play.google.com/store/apps/details?id=de.blinkt.openvpn
https://itunes.apple.com/us/app/openvpn-connect/id590379981?mt=8
订阅:
博文 (Atom)