撸了今年阿里、头条和美团的面试,我有一个重要发现.......>>>

本文永久更新地址:https://my.oschina.net/bysu/blog/1572517

推荐一款免费的自购省钱,分享赚钱的平台——赚赚熊,感兴趣的,特别是家里有婆娘专职带娃的,请看文末。

archlinux一些常规配置,请看《1.树莓派3安装archlinux通用配置部分》

1.配置web服务(基于LAMP)

英文文档比较丰富:https://wiki.archlinux.org/index.php/Apache_HTTP_Server

1.1 先安装Apache、PHP

pacman -Sy php php-apache php-gd

【上面命令会自动安装Apache、PHP】

先启动一下Apache看报什么错误

[root@alarm alarm]# apachectlAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::ba27:ebff:fe34:38d5. Set the 'ServerName' directive globally to suppress this message

配置apache:

vi /etc/httpd/conf/httpd.conf

查找ServerName,会看到#ServerName www.example.com:80。把前面的注释#去掉,然后改成你自己的主机名,如果是本机可以改成:

SeverName localhost:80

https://wiki.archlinux.org/index.php/Apache_HTTP_Server

在 /etc/httpd/conf/httpd.conf中找到下面这行,并注释掉:

#LoadModule mpm_event_module modules/mod_mpm_event.so

找到下面这行,把前面的#去掉。

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

To enable PHP, add these lines to /etc/httpd/conf/httpd.conf:

在 LoadModule 列表末尾加上下面两句(我的是在185行后面,不同版本的配置文件不同,自己看):

LoadModule php7_module modules/libphp7.so
AddHandler php7-script .php

在 Include列表末尾加上下面这句:

Include conf/extra/php7_module.conf

sytemctl重启 httpd.service 服务.

sytemctl httpd.service restart

测试PHP的配置: 在你的Apache DocumentRoot 目录 (譬如 /srv/http/ or ~/public_html) 中创建test.php 文件,内容如下:

<?php phpinfo(); ?>

可以通过如下命令直接创建

echo "<?php phpinfo(); ?>" /srv/http/test.php

注意目录的文件权限属性

sudo chmod +x -R /srv/http/

浏览器中输入:

http://localhost/test.php

1.2 安装mysql(官方默认mariadb)

具体配置见:https://wiki.archlinux.org/index.php/MySQL

pacman -Sy mariadb

安装完mariadb后,先别急着启动mariadb.service服务,先运行如下命令:

mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

现在可以启动mariadb.service服务了。

systemctl start mysqld

然后需要将MySQL设置开机启动:

systemctl enable mysqld

接下来给mariadb进行安全设置

mysql_secure_installation

先回车,然后一路y下去,期间两次需要输入root的密码

新增普通用户

$ mysql -u root -p
MariaDB> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
MariaDB> GRANT ALL PRIVILEGES ON mydb.* TO 'monty'@'localhost';
MariaDB> FLUSH PRIVILEGES;
MariaDB> quit
GRANT ALL PRIVILEGES ON *.* TO 'bysu'@'localhost' IDENTIFIED VIA unix_socket WITH GRANT OPTION;
GRANT PROXY ON ''@'%' TO 'bysu'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
 FLUSH PRIVILEGES;

显示授权信息,我是按照root的来授权的。

SHOW GRANTS FOR 'yangfan'@'localhost';

1.3设置PHP支持mariadb

在 /etc/php/php.ini文件中取消其注释(删掉行首的;号即可):

extension=pdo_mysql.so
extension=mysqli.so

注意: mysql.so 在 PHP 7.0中已经被移除了.

测试php是否连接mariadb。

vi /srv/html/conn.php #新建一个conn.php文件

把下面的内容输入conn.php文件中。

<?php  $db = new mysqli('localhost', 'root', 'admin', 'test');  if (mysqli_connect_errno())  {  echo '<p>' . 'Connect DB error';  exit;  } else{echo 'successful';}
?>  
curl http://192.168.31.146/conn.php    #其中192.168.31.146为你本机的ip,请自行更改

不出意外的话,那么你会看到页面输入successful

如果需要通过上面这种方式(终端curl命令)查看php的版本号

更改上面的conn.php的内容为

<?
phpinfo();
?>
或者使用phpversion()函数
<?
echo phpversion();
?>

其他配置参考官方文档。下面从官方文档摘选一部分。

1.4 Configuration files

MariaDB configuration options are read from the following files in the given order (according to mysqld --help --verbose output):

/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf

Depending on the scope of the changes you want to make (system-wide, user-only...), use the corresponding file. See this entry of the KnowledgeBase for more information.

Grant remote access

Warning: This is not considered as best practice and may cause security issues. Consider using Secure Shell, VNC or VPN, if you want to maintain the MySQL-server outside and/or inside your LAN.

If you want to access your MySQL server from other LAN hosts, you have to edit the following lines in /etc/mysql/my.cnf:

[mysqld]...#skip-networkingbind-address = <some ip-address>...

Grant any MySQL user remote access (example for root):

$ mysql -u root -p

Check current users with remote access privileged:

SELECT User, Host FROM mysql.user WHERE Host <> 'localhost';

Now grant remote access for your user (here root)::

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%' IDENTIFIED BY 'my_optional_remote_password' WITH GRANT OPTION;

You can change the '%' wildcard to a specific host if you like. The password can be different from user's main password.

Disable remote access

The MySQL server is accessible from the network by default. If MySQL is only needed for the localhost, you can improve security by not listening on TCP port 3306. To refuse remote connections, uncomment the following line in /etc/mysql/my.cnf:

skip-networking

You will still be able to log in from the localhost.

2.安装samba--搭建NAS

安装samba

sudo pacman -S samba

查看samba的状态

[bysu@centos-rpi3 ~]$ sudo systemctl status samba

samba服务设为开机启动

systemctl enable smbsystemctl start smb    #启动samba服务
systemctl restart smb  #重启samba服务
systemctl stop smb     #停止samba服务

使用testparm测试samba配置是否正确

testparm

在Linux上测试

smbclient -L localhost   #root账户不用密码

创建samba用户,可以使用Linux原本的用户

smbpasswd -a bysu

创建共享目录

[root@base samba]# mkdir -p /smb/{guest,bysu}
[root@base samba]# chown nobody:nobody /media/samba/guest/
[root@base samba]# chown bysu:bysu /media/samba/bysu/

注意设置属性,不然访问不了。

配置samba的配置文件

sudo vi /etc/samba/smb.conf

Samba 配置文件详解,抄自

Samba 的配置文件 /etc/samba/smb.conf 分为两大部分,一部分是 [global] ,即全局配置,另一部分是 [home] 、[printer] 、[自定义共享名] ,这些都是共享的部分,共享部分的设置优先级高于全局配置,另外,Samba 默认开启本地用户家目录 [home] 和打印机 [printer] 的共享,如果不需要你也可以关闭这两个共享,然后在末行自己重新创建一个共享,下面是详细的配置,你可以自定义一个共享,然后自己选择需要哪些配置:

[pzk]                                      # 自定义共享名
comment = Home Directories                 # 描述符,是给系统管理员看的
path = /tmp                                # 共享的路径
public = yes                               # 是否公开,也就是是否能在网上邻居看到该共享
browseable = yes                           # 共享的目录是否让所有人可见
writable = yes                             # 是否可写
guest ok = no                              # 是否拒绝匿名访问,仅当安全级别为 share 时才生效
workgroup = WORKGROUP                      # 工作组,要设置成跟 Windows 的工作组一致
server string = Samba Server Version %v    # 其他 Linux 主机查看共享时的提示符
netbios name = MYSERVER                    # 用于在 Windows 网上邻居上显示的主机名
hosts allow = 127. 192.168.12. 192.168.13. EXCEPT 192.168.13.13   # 指定允许访问 samba 服务器的主机
security = share                           # 定义安全级别
log file = /var/log/samba/log.%m           # 定义日志文件,每个访问的主机会产生独立的日志文件,%m 是客户端主机名
max log size = 50                          # 定义单个日志的最大容量(KB)
passdb backend = tdbsam                    # Samba 用户的存储方式,smbpasswd 表示明文存储,tdbsam 表示密文存储
deadtime = 10                              # 客户端在10分钟内没有打开任何 Samba 资源,服务器将自动关闭会话,在大量的并发访问环境中,这样的设置可以提高服务器性能
display charset = UTF8                     # 设置显示的字符集
max connections = 0                        # 设置最大连接数,0表示无限制,如果超过最大连接数则拒绝连接
guest account = nobody                     # 设置匿名账户为nobody
load printers = yes                        # 是否在启动 Samba 时就共享打印机
cups options = raw                         # 设置打印机使用的方式
valid users = user1 user2    user3         # 指定哪些用户可以访问,如果不指定则所有用户都可访问
invalid users = user1 user2                # 指定哪些用户不可以访问
create mask = 0775                         # 客户端上传文件的默认权限
directory mask = 0775                      # 客户端创建目录的默认权限
write list = user1 user2 user3             # 设置可对文件进行写操作的用户
admin users = user1                        # 设置共享目录的管理员,具有完全权限
安全级别:
share :表示匿名用户,不需要 samba 账户就可登陆 samba 服务器
user :系统账户要先添加进 samba 库然后变成 samba 用户,使用 samba 用户来登陆,简单来讲就是需要使用用户密码登录
server :由另外一台 samba 服务器来对用户进行身份验证
domain :把 samba 服务器加入到 NT 域,由 NT 的域控制器来进行身份验证
ADS :(Active Directory Service,活动目录服务),是 samba3.0 中新增的身份验证方式,采用 ADS 验证方式,samba 服务器集成到活动目录中

3.aria2的下载安装、配置

sudo pacman -S aria2

创建aria2.conf和aria2.session

sudo vi /etc/aria2.conf
sudo vi /etc/aria2.session

编辑文件aria2.con,写入如下内容

# dir=/data/download
#下载文件保存目录,建议挂载移动硬盘,SD卡经不住这么玩儿#因为我们是以 pi 用户执行的aria2c 进程,所以这里此目录的读写权限# sudo chown -R pi:pi /data/download#打开rpc的目的是为了给web管理端用
#configuration file for aria2c
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true#rpc-listen-port=6800
file-allocation=none
disable-ipv6=true
disk-cache=32Mplit=3max-concurrent-downloads=3max-connection-per-server=3max-file-not-found=3## 最大重试次数,0代表可以无限次重试max-tries=5retry-wait=3continue=truecheck-integrity=truelog-level=errorlog=/var/log/aria2.loginput-file=/etc/aria2/aria2.sessionsave-session=/etc/aria2/aria2.sessiondir=/media/pi/bysu

创建aria2.service文件(开机启动文件)

sudo vi /usr/lib/systemd/system/aria2.service#加入如下内容[Unit]
Description=Aria2 Service
After=network.target[Service]
ExecStart=/usr/bin/aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all --save-session /etc/aria2/aria2.session --input-file /etc/aria2/aria2.session --conf-path=/etc/aria2/aria2.conf
#ExecStart=/usr/bin/aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all --save-session %h/.config/aria2/session.lock --input-file %h/.config/aria2/session.lock --conf-path=%h/.config/aria2/aria2.conf[Install]
WantedBy=default.target

启动aria2服务

sudo systemctl start aria2#设为开机启动
sudo sytemctl enable aria2
  1. 终端输入:
  2. aria2c  --enable-rpc  --rpc-listen-all #启用监听RPC

    安装aria2的页面端webui

    cd /srv/html
    git clone https://github.com/ziahamza/webui-aria2.git

    用浏览器访问 http://pi的IP地址或主机名 即可看到webui的界面,在此界面添加下载任务测试即可

  3. 在电脑上的chrome浏览器上安装『百度云导出到aria2』插件,以方便在电脑上直接将百度云盘上的文件添加至aria2,插件下载地址为:
    https://github.com/acgotaku/BaiduExporter

    初次安装完成后需要配置aria2 PRC地址,一般来说是

    http://192.168.31.42/webui-aria2/index.html

    完成后使用导出按钮来测试效果:

  4. 添加定时下载的脚本
    cd /etc/aria2
    wget https://github.com/bostoneboy/raspberry_pi_stuff/raw/master/aria2/aria2_auto.py
    crontab -e* * * * /usr/bin/python2 /etc/aria2/aria2_auto.py

    此脚本的作用是每天晚上6时暂停所有正在下载的任务,每天凌晨3时开始所有的下载任务,即上班时候和凌晨才会开启脱机下载功能,脚本里面的时候可以根据需要自己来修改。

aria2上传百度云盘-未完待续

(该节点内容参考《开源硬件创客.15个酷应用玩转树莓派》和朝闻道)

因为用到python脚本,所以要配置好相关环境(前提已经安装好python,如果需要可以参考我前面的教程)。

安装pip。

sudo pacman -Syyu       #更新系统
sudo pacman -S python-pip    #安装python的pip包管理工具
sudo pip install rpi.gpio   #安装python的GPIO库
sudo pip install requests   #安装python的Requests库

下载百度云python客户端

sudo git clone https://github.com/lyhonk/bypy.git       #我通过这种方式授权不成功
或者可以通过pip来安装bypy
sudo pip install bypy                                   #通过这种方式安装,我的授权成功了

下载完成之后,进入bypy目录

cd bypy

执行

sudo python bypy.py info

如果报如下错误,需要更改系统的编码

[bysu@alarm bypy]$ sudo python bypy.py -m info
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
WARNING: Can't detect the system encoding, assume it's 'UTF-8'.
Files with non-ASCII names may not be handled correctly.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[bysu@alarm bypy]$ sudo vi /etc/locale.confLANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:en_GB:en"[bysu@alarm bypy]$ sudo locale-gen

更改系统编码之后,继续运行

[bysu@alarm bypy]$ sudo python bypy.py info
Please visit:
https://openapi.baidu.com/oauth/2.0/authorize?client_id=q8WE....lgMKNBn&response_type=code&redirect_uri=oob&scope=basic+netdisk
And authorize this app
Paste the Authorization Code here within 10 minutes.
Press [Enter] when you are done

如果修改系统的编码还是不行的话,可以试着按照下面来设置python的编码,先看一下python的编码,可以看到使用的编码却是是跟上述提示的编码一直,都是ANSI_X3.4-1968。

Python 3.5.3 (default, Jan 19 2017, 14:11:04)
[GCC 6.3.0 20170118] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.getpreferredencoding()
'ANSI_X3.4-1968'
>>> import sys
>>> sys.getfilesystemencoding()
'ascii'
>>>

可以通过export来设置,不过听说只能当前环境有效,我就是通过这种方式临时处理了一下

export PYTHONIOENCODING=UTF-8

网上针对python2.7的持久解决方案,python3.3+的暂时没找到解决方案,我能想到的方案就是把系统的默认python版本暂时更改为python2.7.

在python2.7的目录新建文件
sudo vi /usr/lib/python2.7/site-packages/sitecustomize.py
内容为:
import sys
reload(sys)
sys.setdefaultencoding('utf8')

在浏览器中登录你的百度云盘,然后新建一个标签,把上面的

https://openapi.baidu.com...basic+netdisk行的内容(链接),在新建的浏览器标签的地址栏访问,得到一串授权码,并于刚刚的linux终端中输入,回车...可以看到successfully和云盘的总容量和使用空间的大小。

Authorizing,please be patient,it may take upto None seconds...
Authorizing/refreshing with the OpenShift server...
OpenShift server failed,authorizing/refreshing with the Heroku server...
Successfully authorized
Quota:3.011TB
Used:2.928TB

如果提示相关授权的问题,可以运行bypy.py -c,删除令牌文件,然后重新授权一次。如果还不行,去百度应用授权里删除bypy再重新授权。

上传到百度云盘后,可以到云盘一下目录查看

/我的应用数据/bypy

到了这一步,差不多。最近熬夜甚多,为免猝死,暂且放下吧!

----------------------下方为免费的广告---------------------

1.识别下图中的二维码,跳到步骤2的界面;

2.填入手机,获取验证码,填入验证码注册,界面跳转至步骤3:

3.点开右上角的“...”,界面跳转至步骤4:

4.选择在系统浏览器打开后,界面跳转至步骤5:

5.根据你手机的系统,选择下载的版本。

6.安装成功后,登录app,选择授权淘宝。授权后,在淘宝购买东西大多数都有返利,后续还会支持京东,唯品会...各大平台。

2.树莓派3安装archlinux配置web、samba和aria2相关推荐

  1. 在Windows Server 2008上安装和配置Web和FTP服务

    1.1 安装和配置Web和FTP服务 本节目标: ? 安装Web服务和FTP服务 ? 配置Web站点标识 ? 配置DNS服务器支持Web网站域名解析 ? 配置Web服务器安全 ? Web网站的远程管理 ...

  2. 树莓派3b+安装openwrt 配置wan lan和wifi

    树莓派3b+安装openwrt 配置wan lan和wifi 1.配置网络 修改/etc/config/network 注释掉option ifname 'eth0'一行,为防止与路由器地址冲突,将其 ...

  3. 教你如何在云服务器上安装并配置web服务器(这里以nginx服务器为例,操作系统linux)

    前言: 这里以git bash 工具为例,当然你可以直接用puTTY或者Xshell链接到服务器,用FileZilla 上传文件. 一.连接服务器 ssh root@你的远程ip地址. 二.查看版本 ...

  4. 树莓派4B 安装和配置使用

    目录 1.散热片正确贴法 2.树莓派4B电路板插头介绍 3.树莓派系统 SD卡烧录 4.使用网线连接笔记本登录树莓派系统 5.使用xshell / putty连接树莓派控制台 6.使用VNC view ...

  5. 在树莓派是安装并配置NTP服务

    我们都知道树莓派的小巧和省电节省空间等太多的优势,这里就不一一列举了,那么树莓派就需要长时间的运行,可以7×24的方式运行,那么我们就把树莓派当作一个小的服务器来运行,可以跑一些小的应用,例如可以在局 ...

  6. 树莓派摄像头安装及配置

    一.硬件安装(排线连接摄像头) 按照以下步骤来将树莓派摄像头模块连接搭配树莓派: 1.找到 CSI(Camera Serial Interface) 接口(CSI接口在以太网接口旁边),掀起深色胶带. ...

  7. Ubuntu下Apache的安装和配置——web服务器

    Apache2 <百度百科 > Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之 ...

  8. 安装php独立环境,0507-php独立环境的安装与配置 Web程序 - 贪吃蛇学院-专业IT技术平台...

    1.在一个纯英文目录下新建三个文件夹 2.安装apache(选择好版本) 过程中该填的按格式填好,其余的只更改安装目录即可 如果报错1901是安装版本的问题. 检查:安装完成后localhost打开为 ...

  9. Linux下samba的安装与配置

    physique 博客园 首页 新随笔 联系 管理 订阅 随笔- 203  文章- 0  评论- 33 Linux下samba的安装与配置 转载来源:http://blog.chinaunix.net ...

最新文章

  1. 报名 | 飞速发展的个人消费信贷与风险控制讲座
  2. 【项目实战】---使用ajax完毕username是否存在异步校验
  3. unity3d中获得物体的size
  4. Python中的ThreadLocal变量
  5. Nutch关于robot.txt的处理
  6. vue项目统一响应_vue中使用$set实现深入响应式原理
  7. 图书管理系统python语言-Python简易版图书管理系统
  8. 查看ie保存的表单_小学信息技术gt;搜索保存网页教师资格证面试模板
  9. HDU 4418 Time travel
  10. manjaro安装微软雅黑字体_manjaro设置字体_Manjaro 20.03字体美化的2.5个级别
  11. USB-AUDIO初步分析
  12. utils 16进制HEX 与 rgba互转
  13. 计算机二级考试科目vfp,计算机二级考试科目及内容
  14. 简易计算器app的制作
  15. 昭阳K43/E43系列网卡功能相关说明
  16. 微软媒体服务器,Azure 媒体服务概述
  17. 计算机网络统考outlook操作视频,网络教育计算机统考Outlook
  18. 电脑英语Computer English
  19. Zabbix监控之从zookeeper中获取Kafka消费进度和lag
  20. 谷歌卫星地图下载器bigemap的优势

热门文章

  1. 关于word自动换页的问题,不希望标题后面的文字自动换页
  2. i34000m 4g内存 PHP,4000不到i3-8100四核独显傲腾内存配置推荐 颜值不错! (全文)
  3. 投了几百份简历都没人回?兄弟,你的简历真的有问题啊!
  4. 微软新版edge浏览器设置用户目录和插件白名单
  5. opencv 压缩程序格式解析
  6. SQL-正序倒序查询
  7. 教你5分钟做成一个ASP论坛
  8. 手撕数据结构与算法——树(三指针描述一棵树)
  9. 集成 AliPay - 支付宝
  10. SSL协议概述(三)