标签存档: SSH

Ubuntu通过mail发送邮件

先修改/etc/s-nail.rc中来添加外部SMTP服务器如下:

set from=zpmail@wp.cpxiang.tech
set smtp="smtps://smtp.qq.com:465"
set smtp-auth=login
set smtp-auth-user=1324928751
set smtp-auth-password=<授权码>

尝试发送

echo "nihao" | mail -s "test" 1324928751@qq.com

SSH框架里各个jar包的作用

  1)Struts中的jar包

jar包名称 作用
struts2-core-2.x.x.jar struts2的核心jar包
javassist-3.x.x.GA.jar 一个开源的分析、编辑和创建Java字节码的类库(hibernate中也需要,引入其中一个即可)
commons-io-2.x.x.jar commons项目(commons项目就是java中一些常用的公共的组件)的io子项目,是处理异常的
commons-lang-2.x.jar commons项目中的lang包
commons-fileupload-1.x.x.jar commons项目中的关于文件上传的包, struts2.1.6版本后必须加入此文件
xwork-core-2.x.x.jar xwork的核心jar包,由于struts2是webwork的升级版本,所以必定对其有所依赖(struts2在其基础上构建)
freemarker-2.x.x.jar 支持freemarker(struts2的UI标签的模板使用FreeMarker编写)的,在webwork中也有
ognl-3.x.x.jar 支持ognl语言(对象图导航语言(Object Graph Navigation Language))的,struts2框架通过其读写对象的属性,webwork也支持ognl语言
struts2-spring-plugin-2.x.x.jar struts2与spring集成时使用的,引入该jar包后需要在struts.xml中指定struts的ObjectFactory(可以是struts也可以是spring),不然程序会报错

  其中每一个jar包的版本不是根据struts来定的,而是根据各自的出处的版本更新的,所以你可以看到一个struts版本中的各个jar包的版本各不相同。(下面讲解的spring和hibernate也一样)

  2)Spring中的jar包

jar包名称 作用
spring.jar spring的核心jar包
commons-logging-1.x.x.jar ASF出品的日志包,struts2 2、spring、hibernate框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录
common-annotations.jar 支持注解的包
aspectjrt.jar
                   aspectjweaver.jar
支持AOP的包
cglib-nodep-2.x_x.jar 支持cglib动态代理的包
commons-pool.jar
                   commons-dbcp.jar
支持BasicDataSource来配置数据库连接(如果不用BasicDataSource配置数据库则不需要引入)

  3)Hibernate中的jar包

jar包名称 作用
hibernate3.jar hibernate的核心jar包
hibernate-jpa-2.x-api-x.x.x.jar 对JPA(Java持久化API)规范的支持
antlr-2.x.x.jar 语言转换工具,hibernate利用它实现HQL到SQL的转换
commons-collection-3.x.jar commons项目中的子项目,是对collection集合的封装
dom4j-1.x.x.jar 对dom4j的封装,是解析xml文件的
javassist-3.x.x.GA.jar 一个开源的分析、编辑和创建Java字节码的类库
jta-x.x.jar hibernate对事务的处理
slf4j-api-x.x.x.jar 一个日志系统的服务的api,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统
slf4j-nop-x.x.x.jar 对slf4j-api-x.x.x.jar的一个实现,这个jar包要去slf4j官网下载slf4j-1.6.4集成包

用crontab实现hotsun.link自动备份打包

        准备好要自动执行数据库备份的脚本:

#!/bin/bash

user="root";

password="******";

dbname="blog";
#定义文件名
filename=$dbname$(date +%Y%m%d_%H%M)".sql";
#要存放的文件夹
dir="/var/www/html/";
#检查dir
if !(test -d $dir)
then
mkdir $dir;
chmod 755 -R $dir;
fi
#找到两天之内的sql文件并删除
find $dir -name "*.sql"  -mtime -2 -exec rm -f {} \;
#备份
mysqldump -u$user -p$password $dbname>$dir$filename;

        准备好要自动执行网站打包的脚本

#!/bin/bash

dir="/var/www";
#删除期限超出15天的7z文件
find $dir -name "*.7z" -mtime +15 -exec rm -f {} \;
#用7z高压缩率备份,占用较小空间
7z a -t7z -r $dir"/wp.cpxiang.tech"$(date +%Y%m%d)".7z" $dir"/html/*";

        配置crontab

# crontab -e
#加入以下代码
#每天17:30执行"/home/ubuntu/auto_backup.sh"
30 17 * * * /home/ubuntu/auto_backup.sh
#每个星期五的17:32执行"/home/ubuntu/auto_7z.sh"
32 17 * * 5 /home/ubuntu/auto_7z.sh

配置apache2 SSL模块的443端口

1、开启SSL模块

a2enmod ssl

2、启用SSL站点

a2ensite default-ssl

3、加入监听端口

sudo vim /etc/apache2/ports.conf
#编辑Apache端口配置,加入443端口(HTTPS采用的443端口传输数据)
Listen 443

4、配置虚拟主机

编辑default-ssl文件,加入证书对应的主机头。

sudo vim /etc/apache2/sites-enabled/default-ssl
  
DocumentRoot /var/www/html
ServerName wp.cpxiang.tech

5、配置SSL证书(假设你的证书、私钥和证书链文件已经申请好)

按如下配置

SSLEngine on
SSLCertificateFile             /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile           /etc/ssl/private/ssl-cert-snakeoil.key
SSLCertificateChainFile          /etc/ssl/certs/server-ca.crt

重新启动Apache,然后http://wp.cpxiang.tech,测试下浏览器可能会报证书不合法。可以添加例外或者其他仍然访问就好了,自签名证书浏览器一般会提示不合法,配置完之后大家可以用抓包工具看下数据传输是否加密了。

手工切换ubuntu16.04不同版本PHP

如果需要更新源:

#vim  /etc/apt/sources.list

在末尾加入

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

#apt-get update

#apt-get upgrade

#apt-get install php5

如果需要安装依赖

# apt-get install php5-fpm php5-gli php5-cgi libapache2-mod-php5filter libapache2-mod-php5

#apt-get install php5

停用原来版本

#a2dismod php7 

启用刚安装的版本

#a2enmod php5

#service apache2 restart

最后用phpinfo()检查