Typecho是一个非常轻量化的开源博客程序,发展至今已经比较成熟,但是在部署时也会遇到一些问题。本文将根据Typecho的安装需求,从零开始部署一个完整的typecho博客。

Typecho需要的组件:

1. PHP5.1 以上

2. 支持Mysql, PostgreSQL, SQLite 中的任意一种并在PHP中安装了相关扩展

3. CURL或Socket支持

4. mbstring或iconv扩展支持

1 PHP的安装

1.1 更新源

首先安装一个管理源的工具包

apt-get install software-properties-common

添加Ondřej Surý的PHP源

add-apt-repository ppa:ondrej/php

更新本地系统的源

apt-get update

1.2 安装 PHP7.4

安装PHP7.4,注意需要带上mbstring和mysql。

apt-get install php7.4 php7.4-fpm php7.4-mysql php7.4-gd php7.4-mbstring

安装完成后启动。

service php7.4-fpm start

PHP安装完成之后,并不能直接使用,因为PHP是一个处理页面的工具,并不能处理http请求。所以我们需要安装Nginx做代理。如果想要搭建支持https的博客,建议编译安装带ssl模块的nginx,安装方法可以参考这篇博客。

nginx安装完成以后,我们还需要连接PHP和Nginx,我们既可以通过socks连接,也可以通过端口连接。我自己尝试socks连接出了一些问题,大概于nginx的版本有关,这里有一些相关的讨论。稳妥起见,我们用端口连接PHP和Nginx。

1.3 配置PHP7.4

我们需要更改配置文件,让PHP以端口的方式连接nginx。

nano /etc/php/7.4/fpm/pool.d/www.conf

找到 listen 项,把/run/php/php7.4-fpm.sock 改为 127.0.0.1:9000,并保存文件。

重启PHP服务

service php7.4-fpm reload

此时可以通过 lsof -i:9000 命令查看9000端口的监听情况,如果输出以下信息,说明PHP的配置没有问题。

2 Mysql的安装

ubuntu下安装Mysql非常简单,只需要一行命令:

sudo apt install mysql-server

此时root用户密码为空,我们以root身份进入mysql修改密码,并创建一个用于typecho的数据库:

mysql#进入mysql后更改root密码为mynewpassword
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';#创建一个名为typecho_blog的数据库
CREATE DATABASE typecho_blog;#随后退出mysql
exit

之后要以root身份进入mysql,就需要使用 'mysql -u root -p' 命令了。

3 typecho的部署

在某个你喜欢的地方新建一个目录,我们即将把typecho程序安装在这里(本文演示的目录为/home/typecho)。

#新建目录
mkdir -p /home/typecho
#进入目录
cd /home/typecho
#下载源码(可以在typecho官网找到)
wget https://github.com/typecho/typecho/releases/latest/download/typecho.zip
#解压源码
unzip typecho.zip
#对整个源码目录赋予足够的权限
chmod -R 777 /home/typecho

解压完成后,我们开始配置Nginx。

4 Nginx与PHP的连接、博客的安装

以下是Nginx与PHP连接的一个示例配置,完成配置之后,重启nginx并在浏览器访问你自己的域名。

server {listen 80;server_name abc.com;root /home/typecho/;index index.php;location ~ .*\.php(\/.*)*$ {root           /home/typecho/;fastcgi_split_path_info ^(.+?.php)(/.*)$;fastcgi_pass  127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include        fastcgi_params;}}

点击“下一步”

根据刚才的信息配置数据库

配置完成后,就可以进入博客了。

5 支持https的配置

要让博客支持https,必须满足以下条件:

1. 你的域名有SSL证书

2. Nginx包含了ssl模块

首先,我们来到typecho的后台—设置,将站点地址的http改为https。

接下来,我们进入typecho的安装目录,编辑“config.inc.php”文件,加上这句代码:

define('__TYPECHO_SECURE__',true);

随后,我们也要相应地将nginx的配置文件改为支持ssl的,以下是一个配置文件的示例:

server {listen 443 ssl;server_name abc.com;#注意ssl证书路径,替换成你自己的ssl_certificate /home/ssl_cert/abc.com_bundle.pem;ssl_certificate_key /home/ssl_cert/abc.com.key;ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;root /home/typecho/;index index.php;location ~ .*\.php(\/.*)*$ {root           /home/typecho/;fastcgi_split_path_info ^(.+?.php)(/.*)$;fastcgi_pass  127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include        fastcgi_params;}}

重启nginx后再次访问https的网站,可以发现已经变成了安全连接。

现在还有一个问题,如果直接访问域名的话,浏览器一般会默认访问http(80端口),要想强制访问443端口就需要在nginx中设置端口的重定向。这一部分本文就不再赘述,各位自行百度吧~

ubuntu手动搭建typecho博客相关推荐

  1. 【Microsoft Azure 的1024种玩法】七十一.基于Azure Virtual Machines快速上手搭建Typecho博客系统

    [简介] Typecho 是基于 PHP5 构建的开源跨平台博客系统,Typecho开源跨平台博客系统相较于wordpress .hexo有一定的性能优势,是我们记录文章内容的最佳首选博客,那么本篇文 ...

  2. 手把手教你云服务器如何搭建typecho博客网站(包括配置免费SSL证书)

    Typecho是一款轻量级开源博客程序.基于PHP5开发,支持多种数据库,优点是内核强健.扩展方便.体验友好.运行流畅. 轻量应用服务器可以用来构建网站.小程序/小游戏.电商.云盘/图床以及各类开发测 ...

  3. 基于阿里云服务器使用宝塔面板搭建 Typecho 博客

    第一步.搭建环境 小编使用的是阿里云服务器和宝塔面板来搭建环境和管理网站,主要是比较方便. 更详细的基于云服务器安装宝塔面板的安装教程:基于阿里云服务器搭建宝塔面板教程最全详解(图文) 打开 xshe ...

  4. 群晖如何建php网站_群晖webstation搭建typecho博客

    群晖上安装webstation.apache HTTP Server 2.4.PHP7.2.MariaDB 104个套件,启动webstation,设置apache为服务器. SSH进入群晖 ssh ...

  5. WordPress - 基于 Ubuntu 16.04 搭建个人博客

    WordPress - 基于 Ubuntu 16.04 搭建个人博客 购买了腾讯云服务器后, 准备开始搭建个人博客了, 这里根据网上的各种资源整理一下.(终端下进行) 如果是学习的话强烈推荐 基于 U ...

  6. Typecho博客搭建教程

    目录 Typecho博客搭建教程 一.搭建博客前的准备工作 1.购买阿里云轻量应用服务器 2.安装宝塔面板 3.域名 二.Typecho下载及安装 1.下载Typecho: 2.上传网站到服务器 3. ...

  7. 从购买服务器到搭建WordPress博客详细教程

    我的博客原文链接:从购买服务器到搭建WordPress博客详细教程 - Hoyerの小站 〇. 引言 你是否想过搭建一个自己的网站?是否想过随心所欲地设计网站的界面风格?是否想过用自己建的网站赚钱?这 ...

  8. 使用Hexo搭建个人博客的终极资料

    # 一.前言 Hexo 是一个基于 NodeJs 博客框架,可以快速的帮我们搭建一个博客系统,Hexo使用的是Markdown(下文简称MD)解析文章的,在几秒内即可利用靓丽的主体生成静态网页. 推荐 ...

  9. 开源java博客tale_用Tale快速搭建个人博客

    前言 tale是一款简洁美观的java开源博客 tale博客简介 先看效果,这是我用tale搭建的博客,http://verypure.me 我的tale博客 这是tale博客的后台 我的tale博客 ...

最新文章

  1. Apache Web服务器资源使用限制配置
  2. Bzoj3060 [Poi2012]Tour de Byteotia
  3. 开始您的第一个Google App Engine应用
  4. CSP认证201609-2 火车购票[C++题解]:模拟、vector、排序
  5. 11-使用NSPersistentContainer搭建CoreData Stack
  6. Oracle笔记:备份还原
  7. 新工科背景下大数据专业导论课程的改革与探索
  8. python编程是啥-Python编程语言的特点是什么?老男孩Python学习
  9. excel 公式快速填充下拉方法(WPS表格)
  10. ffmpeg编解码命令(包含YUV编码到常见视频格式文件)
  11. 服务器虚拟机怎么安装win7系统教程,虚拟机怎么安装win7系统 虚拟机安装win7系统教程...
  12. matlab 误码曲线,用matlab画误码率曲线
  13. matlab中fmincon函数求最大值,matlab fmincon函数用法
  14. HbuilderX中 华为手机 真机调试
  15. 关于安卓图片剪切造成软件崩溃问题的解决方法
  16. 蓝桥杯 基础练习 圆的面积
  17. thinkphp3.2.3 支付宝授权登录php
  18. 怎么用计算机把浓度转换成PH,ph浓度换算(ph怎么换算OH浓度)
  19. Latex系列2---段落编写+标题编写+目录生成
  20. 长平之战后的秦赵又一次决战——邯郸保卫战

热门文章

  1. web后端实现验证码思路
  2. 在Excel中如何生成相关性的图
  3. 实用 高效率 的电脑软件
  4. DataManage
  5. 015:索引、B+树
  6. 华为设备如何查看单板的序列号?
  7. IE8、IE9浏览网站变成了杂项模式quirks
  8. 《视频直播技术详解》之二:编码和封装、推流和传输
  9. 大数据技术炙手可热 专业人才短缺成发展掣肘
  10. python语言使用不需要付费不存在商业风险_中国大学MOOC慕课_Python语言基础与应用_答案...