-
Notifications
You must be signed in to change notification settings - Fork 0
/
text1.html
226 lines (192 loc) · 10.2 KB
/
text1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
<!DOCTYPE html>
<html lang="zh-hans">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Aisaka's Blog</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link href="favicon.ico" rel="shortcut icon" type="image/ico">
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<nav class="nav-container">
<div class="nav-container__inner">
<a class="home-link" href="index.html" align="left">
<font face="SmileySans-Oblique">Aisaka's Blog</font>
</a>
<ul class="top-nav">
<li><a href="/">
<font face="SmileySans-Oblique">Home</font>
</a></li>
<li><a href="blogs.html">
<font face="SmileySans-Oblique">Blog</font>
</a></li>
<li><a href="links.html">
<font face="SmileySans-Oblique">Links</font>
</a></li>
<li><a href="about.html">
<font face="SmileySans-Oblique">About</font>
</a></li>
<li>
<form action="https://www.bing.com/search" method="get" class="search-icon">
<input type="hidden" name="q1" value="site:aisaka.cc">
<input type="search" action="get" name="q">
<button type="submit"><img src="./src/img/search.png" alt=""></button>
</form>
</li>
</ul>
</div>
</nav>
<div class="hero">
<div class="hero__inner">
<h1 style="color:rgb(255, 255, 255)">
<font face="SmileySans-Oblique">How to install</font>
</h1>
<h2 style="color:rgb(255, 255, 255)">
<font face="SmileySans-Oblique">树莓派安装 PHP7.3 + Nginx + Mariadb + PHPMyadmin 并搭建博客 Typecho</font>
</h2>
</div>
</div>
<div class="container">
<div class="tile-row">
<div class="tile">
<h4>How to install</h4>
<h3 id='树莓派安装php73--nginx--mariadb--phpmyadmin并搭建博客typecho'>树莓派安装PHP7.3 + Nginx + Mariadb + PHPMyadmin并搭建博客typecho</h3>
<blockquote><p>在树莓派上先安装服务器环境:PHP7.3 + Nginx + Mariadb + PHPMyadmin。数据库Mariadb是MySQL的一个分支,API和命令行兼容MySQL。安装PHP 7.3
添加apt源。编辑apt源配置文件:</p>
<pre><code>sudo vi /etc/apt/sources.list.d/raspi.list
</code></pre>
<p>在后面加入一行:</p>
<pre><code>deb http://mirrordirector.raspbian.org/raspbian/ buster main contrib non-free rpi
</code></pre>
<p>更新软件包列表:</p>
<pre><code>sudo apt update
</code></pre>
<p>安装PHP7.3:</p>
<pre><code>sudo apt install -y -t buster php7.3
</code></pre>
<p>安装过程中会提示某些服务需要重启,选择Yes即可。
测试是否安装成功:</p>
<pre><code>php -v
</code></pre>
<p>如果显示php版本号,则安装成功,如下:</p>
<pre><code>
PHP 7.3.2-3 (cli) (built: Feb 8 2019 15:05:54) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.2-3, Copyright (c) 1999-2018, by Zend Technologies
</code></pre>
<p>安装nginx:</p>
<pre><code>sudo apt-get install nginx
</code></pre>
<p>配置Nginx解析PHP
编辑Nginx配置文件<code>sudo vi /etc/nginx/sites-enabled/default</code>
找到# pass PHP scripts (脚本) to FastCGI server, 在后面加入以下代码:</p>
<pre><code>
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}
修改配置后需要重新加载Nginx配置才能生效:
</code></pre>
<pre><code>sudo nginx -s reload
</code></pre>
<p>安装Mariadb数据库
安装数据库:</p>
<pre><code>sudo apt-get install mariadb-server mariadb-client
</code></pre>
<p>安装PHPMyadmin</p>
<pre><code>sudo apt install phpmyadmin -y
</code></pre>
<p>由于我们要使用 LAMP,所以选择 apache2即可
然后的界面选择是,再是密码不需要输入,直接选择是就行了,它会为你自动生成
然后配置Mariadb
执行数据库初始化安装:</p>
<pre><code>sudo mysql_secure_installation
</code></pre>
<p>根据提示设置root密码等信息。</p>
<p>尝试登录数据库:</p>
<pre><code>mysql -u root -p
</code></pre>
<p>输入上一步设置的密码,发现无法登录,错误提示如下:</p>
<pre><code>ERROR 1698 (28000): Access denied for user 'root'@'localhost'
</code></pre>
<p>原因: 数据库默认使用系统用户登录,需要修改为使用密码登录。
解决方案: <code>sudo mysql -u root</code> ,登入数据库后,依次执行以下代码:
<code>use mysql</code> #切换到mysql数据库
<code>update user set plugin='mysql_native_password'</code>; #修改plugin字段
<code>flush privileges</code>; #刷新权限
<code>exit</code>; #退出数据库</p>
<p>再次使用mysql -u root -p即可通过密码登录数据库,无需root权限执行。
*<strong>如果你有出现访问127.0.0.1/phpmyadmin时404 Not Found Nginx的情况*</strong>
运行指令</p>
<pre><code>`rm -rf /usr/share/nginx/www`
sudo ln -s /usr/share/phpmyadmin/
/var/www/html/phpmyadmin
ls -al /var/www/html
</code></pre>
<p>你应该会看到</p>
<pre><code>lrwxrwxrwx 1 root root 22 Apr 4 14:31 phpmyadmin -> /usr/share/phpmyadmin/
</code></pre>
<p>这意味着链接是有效的,现在你应该可以访问
<em>如果还是不行可以选择重启nginx服务或者重启你的树莓派应该就可以正常访问了</em>
接下来安装typechoh(或者选择你喜欢的博客框架)
在官网下载<a href='http://typecho.org/' target='_blank' class='url'>http://typecho.org/</a>
下载完成后解压到/var/www/html
安装时在phpmyadmin中建立数据库
*<strong>如果登入账号是404 Not Found*</strong>
更改此文件/etc/nginx/sites-enabled/default
这一行中</p>
<pre><code>
server{
...
location / {
...
//这里添加
...
try_files $uri $uri/ =404;
...
}
}
</code></pre>
<p>添加如下代码:</p>
<pre><code>
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
</code></pre>
<p>然后重启Nginx:
<code>sudo service nginx restart</code>(无法重启建议直接重启树莓派,并不是什么配置问题)</p>
<p>本片内容主要用于树莓派4刚上市我安装时遇到的各种问题,通常情况下根据网络其他教程安装就简单,方便,所以本片也仅供自己参考</p>
<p> </p></blockquote>
<ul class="tag-list">
<li>PHP</li>
<li>Nginx</li>
<li>PHPMyadmin</li>
<li>Mariadb</li>
<li>Typecho</li>
</ul>
<a href="text2.html" class="button">Next</a>
</div>
</div>
</div>
<footer class="page-footer">
<div class="page-footer__inner">
Copyright © 2023 Aisaka 坡道闲聊.
</div>
</footer>
<div onclick="scrollToTop()" class="scrollTop">Top</div>
<script>
function scrollToTop() {
window.scrollTo(0,0);
}
</script>
</body>
</html>