debian或ubuntu搭建typecho博客网站

AI摘要:Typecho是一款轻量级、高性能的PHP博客平台,支持多种数据库和Markdown编辑器,易于安装和配置。本文介绍了在Debian或Ubuntu上搭建Typecho博客网站的过程,包括安装nginx、php、mysql数据库,配置SSL证书和nginx等步骤。

Powered by AISummary.

昔我往矣,杨柳依依,今我来思,雨雪霏霏,念念不忘,必有回响!

概览

  Typecho是一个开源的PHP博客平台,以其简洁的界面和强大的功能,为博客作者提供了一个高效、易于管理的写作环境。它是一个轻量级、高性能的解决方案,适用于个人博客、团队博客以及任何需要内容发布功能的网站。

  Typecho的设计哲学是“不打扰”,它通过提供必要的功能,同时避免不必要的复杂性,让博客作者可以专注于内容创作。它的核心团队和社区成员致力于维护一个稳定、安全且易于使用的平台。

  Typecho的主要特性包括对多种数据库的支持,这意味着用户可以根据自己的需求选择合适的数据库系统。Markdown编辑器的内置支持,简化了文章的撰写和格式化过程,提高了写作效率。并且,轻量高效的设计使它仅仅 7 张数据表,加上不足 400KB 的代码,就实现了完整的插件与模板机制。超低的 CPU 和内存使用率,足以发挥主机的最高性能。插件和主题的扩展性,允许用户根据自己的需求定制博客的功能和外观。此外,自定义字段和页面功能为用户提供了额外的灵活性,以适应不同的内容管理和展示需求。

  Typecho的安装和配置过程简单明了,即使是初学者也能快速上手。它还提供了详细的文档和社区支持,帮助用户解决在使用过程中遇到的问题。随着技术的不断进步,Typecho也在不断地更新和改进,以适应现代网络环境的需求。

  Typecho:让博客写作回归本质- 精选真开源,释放新价值。

主要功能

  你可以进入官网:https://typecho.org

  也可以查阅官方文档:https://docs.typecho.org

  • 多数据库支持

  Typecho能够与多种数据库系统无缝集成,包括MySQL、SQLite和PostgreSQL。这意味着用户可以根据自己的技术偏好或现有基础设施选择数据库。例如,MySQL是广泛使用的数据库,适合需要高性能和可靠性的环境;SQLite适合轻量级应用或个人项目;PostgreSQL则提供了高级功能,适合需要复杂查询和数据完整性的场景。

  • Markdown支持

  Typecho内置了Markdown编辑器,允许用户使用Markdown语法撰写博客文章。Markdown是一种轻量级标记语言,它通过简单的语法规则转换为格式化的HTML,使得文章的编写更为直观和便捷。此外,Markdown的普及性也意味着用户可以轻松地在其他平台上编辑和预览Typecho博客内容。

  • 插件支持

  Typecho的插件系统允许用户根据个人或团队的需求扩展平台的功能。插件可用于添加新的功能,如社交媒体集成、SEO优化工具、评论管理和安全性增强等。Typecho的插件库不断更新,提供了丰富的选择,用户可以根据自己的具体需求选择合适的插件。

  • 主题支持

  Typecho支持自定义主题,用户可以根据自己的品牌风格或个人喜好来设计博客的外观。主题可以包含多种元素,如布局、颜色方案、字体选择和导航结构等。Typecho社区提供了多种免费和付费主题,用户也可以自行开发主题以满足特定的设计需求。

  • 自定义字段与自定义页面

  自定义字段功能允许用户为文章和页面添加额外的元数据。这些字段可以用于存储作者信息、文章标签、分类或其他任何用户认为有用的信息。自定义字段提供了一种灵活的方式来组织和展示内容,使得博客更加个性化和功能丰富。用户也可以创建自定义页面来展示特定的内容,如“关于我”、“联系我们”、“服务条款”等静态页面。这些页面可以独立于博客文章存在,为用户提供了一个展示额外信息的平台。自定义页面的创建和管理过程简单直观,使得即使是非技术用户也能轻松设置。

部署

一、安装nginx

sudo apt install nginx

二、安装php及扩展

sudo apt update
sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-xml php8.2-mbstring php8.2-curl php8.2-fileinfo php8.2-opcache php8.2-memcached php8.2-apcu php8.2-imagick php8.2-readline

三、安装配置mysql数据库

sudo apt install mysql-server
  • 配置MySQL

安装完成后,我们需要对MySQL进行一些基本配置。运行以下命令来启动MySQL配置向导:

sudo mysql_secure_installation

该向导将引导您完成一系列的配置选项,包括删除匿名用户、禁止远程root登录等。按照向导的提示进行操作,并根据需要进行相应的配置。

  • 启动MySQL服务

安装和配置MySQL后,我们需要启动MySQL服务。运行以下命令来启动MySQL服务:

sudo systemctl start mysql

您可以使用以下命令检查MySQL服务的状态:

sudo systemctl status mysql

如果一切正常,您将看到MySQL服务正在运行。

  • 连接到MySQL

现在,我们可以使用MySQL客户端连接到MySQL服务器。运行以下命令来打开MySQL客户端:

mysql -u root -p
然后,输入您在安装过程中设置的root密码。如果密码正确,您将进入MySQL命令行提示符。

  • 创建新的MySQL用户

默认情况下,MySQL只允许root用户访问和管理数据库。为了安全起见,我们应该创建一个新的MySQL用户,并为其分配适当的权限。运行以下命令来创建新用户:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

将'newuser'替换为您想要创建的用户名,并将'password'替换为您想要设置的密码。

  • 授予用户权限

创建用户后,我们需要为其授予适当的权限。运行以下命令来授予用户所有数据库的完全访问权限:

GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';

这将授予用户在所有数据库上的完全访问权限。如果您只想授予用户对特定数据库的访问权限,可以将*.*替换为数据库名称。

  • 创建数据库

输入下面代码登录数据库

mysql -u USER -p

输入下面代码创建typecho数据库

CREATE DATABASE typecho;

四、下载typecho源码

下载
typecho源码
并解压到/var/html/typecho/目录下。

五、申请ssl证书

点击傻瓜式申请ssl证书方法,查看帮助文档,逐步操作即可。

六、配置nginx

nano /etc/nginx/conf.d/default.conf

注意修改域名和证书路径

# HTTP重定向
server {
    listen 80;
    server_name typecho.57767.top; #修改域名 

    # 强制重定向到 HTTPS
    return 301 https://$host$request_uri;
}

# Typecho 的 HTTPS 配置
server {
    listen 443 ssl http2;
    server_name typecho.57767.top; #修改域名

    ssl_certificate certs/57767.top.pem; #证书路径
    ssl_certificate_key certs/57767.top.key; #证书路径

    ssl_session_timeout 5m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    add_header Strict-Transport-Security "max-age=31536000" always;

    # 访问根目录
    root /var/html/typecho/;
    index index.php index.html index.htm;

    # URL 重写
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # PHP 处理
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # 错误页面配置
    error_page 404 /404.html;

    # 禁止访问的敏感文件
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md) {
        return 404;
    }

    # SSL错误页面处理
    error_page 497 https://$host$request_uri;
}

# 拒绝其他二级域名访问
server {
    listen 443 ssl http2 default_server;
    server_name *.57767.top; #修改域名

    ssl_certificate certs/57767.top.pem;  #证书路径
    ssl_certificate_key certs/57767.top.key; #证书路径

    return 444;  # 返回444错误
}

重载nginx配置

nginx -s reload

外网访问https://typecho.57767.top,就能登录博客了!!!

跟着向导连接刚才配置的typecho数据库,剩下的就是自己折腾了

强烈推荐主题:
joe再续前缘

打赏
评论区
头像
文章目录

本站已运行: