2020-03-03 20:37:08 +08:00

6.9 KiB
Raw Permalink Blame History

pi

更换软件源

sudo nano /etc/apt/sources.list
deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi
sudo nano /etc/apt/sources.list.d/raspi.list
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui
sudo apt-get update
sudo apt-get upgrade

安装git

安装git sudo apt-get install wget git-core

创建新用户和用户组 adduser --system --shell /bin/bash --gecos 'git version control by pi' --group --home /home/git git

改密码 passwd git

切用户 su git

进文件夹 cd /home/git

初始化

mkdir test.git
cd test.git
git --bare init

用户:添加远程 git remote add pi git@[your IP]:/home/git/test.git

关机

sudo shutdown -h now sudo halt sudo poweroff sudo init 0

重启

sudo reboot shutdown -r now shutdown -r 18:23:52 #定时重启在18点23分52秒关闭

ngrok

下载 wget 'hls.ctopus.com/sunny/linux_arm.zip?v=2'

重命名 mv linux_arm.zip?v=2 linux_arm.zip

解压缩 unzip linux_arm.zip

切文件夹 cd linux_arm

启动! ./sunny clientid 213330227041

后台运行 setsid ./sunny clientid 213330227041 &

移动到 /use/local/bin 目录下并给予可执行权限

sudo mv sunny /usr/local/bin/sunny
sudo chmod +x /usr/local/bin/sunny

编写启动脚本 sudo vim /etc/init.d/sunny

内容

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          ngrok.cc
# Required-Start:    $network $remote_fs $local_fs
# Required-Stop:     $network $remote_fs $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: autostartup of ngrok for Linux
### END INIT INFO

NAME=sunny
DAEMON=/usr/local/bin/$NAME
PIDFILE=/var/run/$NAME.pid

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
      if [ -f $PIDFILE ]; then
        echo "$NAME already running..."
        echo -e "\033[1;35mStart Fail\033[0m"
      else
        echo "Starting $NAME..."
        start-stop-daemon -S -p $PIDFILE -m -b -o -q -x $DAEMON -- clientid 213330227041 || return 2
        echo -e "\033[1;32mStart Success\033[0m"
    fi
    ;;
  stop)
        echo "Stoping $NAME..."
        start-stop-daemon -K -p $PIDFILE -s TERM -o -q || return 2
        rm -rf $PIDFILE
        echo -e "\033[1;32mStop Success\033[0m"
    ;;
  restart)
    $0 stop && sleep 2 && $0 start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
esac
exit 0

测试

sudo chmod 755 /etc/init.d/sunny
sudo /etc/init.d/sunny start
sudo /etc/init.d/sunny start    #启动
sudo /etc/init.d/sunny stop     #停止
sudo /etc/init.d/sunny restart  #重启

开机启动

cd /etc/init.d
sudo update-rc.d sunny defaults 90    #加入开机启动
sudo update-rc.d -f sunny remove  #取消开机启动

安装gogs

创建新用户git 如果不创建会导致主账号登陆不了ssh

//切换为root用户为了获取创建用户的权限
sudo su

//给root创建一个新的密码
sudo passwd root

//添加一个新用户如用户名为csdn
useradd csdn

//为该用户设定登录密码
passwd csdn

//为该用户指定命令解释程序(通常为/bin/bash
usermod -s /bin/bash csdn

//为该用户指定用户主目录
usermod -d /home/csdn csdn

//查看用户的属性
cat /etc/passwd

// 切换到用户csdn
su csdn

// 再次切换到root用户不要用sudo su, 而用su root
su root

// 执行visudo命令
visudo

// 该命令实际上打开的是/etc/sudoers文件修改该文件在“root ALL=(ALL:ALL) ALL”这一行下面加入一行
csdn ALL=(ALL:ALL) ALL

//ctrl+o然后再按enter保存ctrl+c取消ctrl+x退出

下载 wget 'https://github.com/gogs/gogs/releases/download/v0.11.91/raspi_armv7.zip'

解压 unzip raspi_armv7.zip

进文件夹 cd gogs

开启web服务 ./gogs web

去3000端口进行设置数据库设置成sqlite就行

/etc/systemd/system/gogs.service新建文件

[Unit]
Description=Gogs (Go Git Service)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git

[Install]
WantedBy=multi-user.target

更新 User、Group、WorkingDirectory、ExecStart 和 Environment 为相对应的值。其中 WorkingDirectory 为您的 Gogs 实际安装路径根目录。

[可选] 如果您 Gogs 安装示例使用 MySQL/MariaDB、PostgreSQL、Redis 或 memcached请去掉相应 After 属性的注释。

然后通过 sudo systemctl enable gogs 命令激活,最后执行 sudo systemd start gogs,就可以做到开机启动了。

官方文件解释docs

重启 sudo systemctl restart gogs

安装nginx

安装 sudo apt-get install nginx

启动 sudo /etc/init.d/nginx start

修改配置 sudo nano /etc/nginx/sites-available/default

重启 sudo /etc/init.d/nginx reload

修改文件夹权限 sudo chmod o+rw /etc/nginx

server {
    #SSL 访问端口号为 443
    listen 443 ssl http2; #填写绑定证书的域名
    server_name pi.powerrain.cn;
    #证书文件名称
    ssl_certificate 1_pi.powerrain.cn_bundle.crt;
    #私钥文件名称
    ssl_certificate_key 2_pi.powerrain.cn.key;
    ssl_session_timeout 5m;
    #请按照这个协议配置
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    #请按照这个套件配置,配置加密套件,写法遵循 openssl 标准。
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    location / {
      proxy_pass http://127.0.0.1:3000;
    }
    location /html {
      root /var/www/html;
      index index.html index.htm index.nginx-debian.html;
      try_files $uri $uri/ =404;
    }
}

server {
    listen 80;
    server_name pi.powerrain.cn;

    location / {
      proxy_pass http://127.0.0.1:3000;
    }
    location /html {
      root /var/www/html;
      index index.html index.htm index.nginx-debian.html;
      try_files $uri $uri/ =404;
    }
}

flask自启

  • 写文件
    #!/bin/sh
    cd /home/pi/data/ccb/backEnd
    . venv/bin/activate
    gunicorn ccb:app -c gunicorn.conf.py
    
  • 给权限sudo chmod 777 /home/pi/data/ccb/backEnd/start.sh
  • 编辑开机自启sudo nano /etc/rc.local
  • 添加/home/pi/data/ccb/backEnd/start.sh start

sudo chmod -R g+rwx /home/pi/data/owncloud

sudo -u www-data ls -la /home/pi/data/owncloud sudo chown -R www-data:www-data /home/pi/data/owncloud sudo chown -R www-data:www-data /home/pi/data/owncloud/data/canary/files/Photos/animation/0

wget https://download.owncloud.org/community/owncloud-10.3.2.tar.bz2

sudo tar -xvf owncloud-10.3.2.tar.bz2

sudo rm -rf /home/pi/data/owncloud

wget https://canary.moe/favicon.ico