Вручную создайте блог typecho на Ubuntu

Typecho — очень легкая программа для ведения блогов с открытым исходным кодом. В этой статье будет развернут полный блог typecho с нуля в соответствии с требованиями установки Typecho.

Компоненты, необходимые для Typecho:

1. PHP5.1 или выше

2. Поддержите любой из Mysql, PostgreSQL, SQLite и установите соответствующие расширения в PHP.

3. Поддержка CURL или сокетов

4. Поддержка расширения mbstring или iconv

1 установка PHP

1.1 Источник обновлений

 Сначала установите набор инструментов для управления источниками

apt-get install software-properties-common

 Добавить исходный код PHP Ondřej Surý

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, рекомендуется скомпилировать и установить nginx с модулем ssl.Способ установки можно найти в этом блоге .

После завершения установки nginx нам также необходимо подключить PHP и Nginx, мы можем подключаться через socks или порты. У меня есть некоторые проблемы, когда я пытаюсь подключиться с помощью socks, что, вероятно, связано с версией nginx.Вот некоторые связанные обсуждения. Чтобы быть в безопасности, мы используем порты для подключения PHP и Nginx.

1.3 Настройка PHP7.4

Нам нужно изменить файл конфигурации, чтобы разрешить PHP подключаться к nginx по порту.

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

 Найдите элемент прослушивания, измените /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 очень просто, нужна всего одна строка команды:

sudo apt install mysql-server

В настоящее время пароль пользователя root пуст, мы вводим mysql как root, чтобы изменить пароль, и создаем базу данных для typecho:

mysql

#进入mysql后更改root密码为mynewpassword
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';

#创建一个名为typecho_blog的数据库
CREATE DATABASE typecho_blog;

#随后退出mysql
exit

Затем, чтобы войти в mysql как root, вам нужно использовать команду «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. Эта часть этой статьи не будет вдаваться в подробности, пожалуйста, Baidu самостоятельно ~

рекомендация

отblog.csdn.net/diqiudq/article/details/126425003