debian+mariadb+apache+php+joomla

如何搭建一个自己的网站(一)

 

目录

  1. 搭建一个什么样的网站?
  2. 搭建网站需要做的准备工作

2.1. 购买一台云服务器

2.2. 购买一个域名并办理好备案

2.3. 规划好自己需要的服务器架构

  1. 开始搭建

3.1. 安装基础操作系统

 

 

 

1. 搭建一个什么样的网站?

一直很想搭建一个网站来记录工作当中的遇到的有意思的问题和解决问题的过程,将这些经验分享给朋友们,同时也作为自己的备忘录。

网站功能需求比较简单,有前台展示和后台管理功能就可以。

我自己并没有学习过软件编程,不能以软件开发的方式来建站。当前比较流行的建站软件,基础操作系统有Windows和Linux、web服务器有Apache和Nginx…,当前比较流行的开源CMS系统有Wordpress  Joomla  drupal等,这些CMS系统都是可以做动态网站的,虽然对于我来说动态网页功能现在基本用不上,但以后说不定会用到呢?先拿来用了再说吧,而且搭建过程中也能学到更多的知识,何乐而不为呢?

操作系统该怎么选呢?

Windows Server和Linux Server的性能方面和安全方面我个人认为分不清孰强孰弱,各有优点,但是租用的云服务器空间是比较金贵的,我的服务器只有60G的总空间,如果安装Windows Server的话,操作系统占用空间比较多,Linux占用空间就要小很多,为节约计,我选用的Linux 最小化安装,安装完成后占用3个多G。

在虚拟机上测试了几种架构:

LAMP + Wordpress /Joomla

  • Cent OS + Apache + Mysql Community + PHP
  • Debian + Apache + Mysql Community + PHP
  • Ubuntu + Apache + Mysql Community + PHP

LNMP + Wordpress /Jommla

  • Cent OS + Nginx + Mariadb+ PHP
  • Debian + Nginx + Mariadb + PHP
  • Ubuntu + Nginx + Mariadb+ PHP

我个人觉得还是Debian+Apache+Joomla用起来最顺手。

至于编译安装,由于对各种选项的功用和各个选项之间的关联关系了解的并不透彻,安装过程中需要解决各种依赖问题,比较麻烦,干脆直接进行包安装。

 

 

2. 搭建网站需要做的准备工作

2.1. 购买一台云服务器

建站首先需要购买一台云服务器,因为现在已经不允许用一台个人电脑来做服务器了,而且个人也不太可能获得公网IP资源,没有公网IP一般情况下无法提供稳定的网站服务,所以想建站首先要购买一台云服务器,我买的是腾讯云轻量应用服务器,现在活动价格比较低,挺适合用来做个人网站。

 

 

2.2. 购买一个域名并办理好备案

域名很重要,尽可能购买.com域名。域名买完尽早申请备案,登录腾讯云,进入备案申请,严格按照要求填写好相关信息,一般2-3天内腾讯云会审核通过,然后会提交管局审核,管局一般7个工作日内会有审核结果。审核过程并不复杂,按找要求填写真实、准确的信息就好,没必要找代理备案。

给自己的网站起一个合适的名字,名字里不要带博客字样,现在管局不接受个人备案博客网站,网站也不要启用评论功能。备案时填写的网站名称要与网站实际使用的名称一致,以避免后续出现问题。

 

 

2.3. 规划好自己需要的服务器架构

各种软件选用都是开源免费的,服务器操作系统用Debian Linux,web server用Apache 2.4,PHP用8.2,数据库用Mariadb,CMS选用Joomla。

 

 

3. 开始搭建

3.1. 安装基础操作系统

登录腾讯云-进入控制台-创建实例-选择操作系统··· ···

我没有选择已配置好的wordpress 或Joomla的web 服务器镜像(这种镜像是开箱即用的,不需要再自己安装、配置数据库、PHP和CMS),也没有使用宝塔面板之类的管理工具,有时间的话还是别错过自己动手的机会,安装配置的过程能够更多地了解web服务器是如何运行的,对我们自己是有好处的。

腾讯云的Debian系统版本目前只有11.1,我想用的是12.1,没办法,先安装然后再升级吧,安装过程完全不需要干预,安装完成就可以直接登录。

安装完成后,重置root密码,启用SSH登录,关闭腾讯云的一键免密登录。

 

升级操作系统:

使用SSH软件登录到你的服务器,我用的是Xshell,升级过程很简单,只要输入下面几个命令:

 

apt update
apt upgrade
apt full upgrade
apt autoremove.

 

在开始升级之前修改一下/etc/apt/source.list 文件,我习惯用科大镜像源,直接把souce.list 文件内容替换为:

 

deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free non-free-firmware
# deb-src http://mirrors.ustc.edu.cn/debian stable main contrib non-free non-free-firmware

deb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free non-free-firmware
# deb-src http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free non-free-firmware

# deb http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free non-free-firmware
# deb-src http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free non-free-firmware

 

现在开始升级,输入命令:

 

apt update
apt full-upgrade

 

这台服务器不是生产环境,我没有做相应的备份操作,如果需要的话升级之前请自行备份重要信息,比如IP、DNS、用户密码、各种服务等等。

我使用的是root 用户登录,如果用其他用户登录需要使用sudo命令。

 

[root@websr ~]# apt full-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  linux-image-5.10.0-25-amd64
  The following packages will be upgraded:
  at-spi2-core base-files bind9-dnsutils bind9-host bind9-libs dbus dbus-user-session debian-archive-keyring distro-info-data dpkg
  gir1.2-gdkpixbuf-2.0 gir1.2-gtk-3.0 grep grub-common grub-pc grub-pc-bin grub2-common gtk-update-icon-cache isc-dhcp-client
  isc-dhcp-common krb5-locales libatspi2.0-0 libavahi-client3 libavahi-common-data libavahi-common3 libc-bin libc-dev-bin libc-devtools
  libc-l10n libc6 libc6-dev libcurl3-gnutls libcurl4 libcurl4-openssl-dev libdbus-1-3 libdpkg-perl libexpat1 libgdk-pixbuf-2.0-0
  libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgnutls30 libgssapi-krb5-2 libgtk-3-0 libgtk-3-bin libgtk-3-common libk5crypto3 libkrb5-3
  libkrb5support0 libncurses-dev libncurses5-dev libncurses6 libncursesw6 libnftables1 libnss-systemd libpam-systemd libpcre2-8-0
  libpixman-1-0 libssl-dev libssl1.1 libsystemd0 libtasn1-6 libtiff5 libtinfo6 libudev1 libwebp6 libx11-6 libx11-data libx11-dev
  libxapian30 libxml2 libxml2-dev libxpm-dev libxpm4 libxslt1.1 linux-image-amd64 linux-libc-dev locales nano ncurses-base ncurses-bin
  ncurses-term open-vm-tools openssl publicsuffix systemd systemd-sysv systemd-timesyncd traceroute tzdata udev zlib1g zlib1g-dev
92 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 114 MB of archives.
After this operation, 319 MB of additional disk space will be used.
Do you want to continue? [Y/n]

 

输入y,回车。

等待软件包下载安装完成。

如果出现:提示,点击q键退出

升级过程中会重启一些服务,Tab键切换到yes,确定

 

 

提示更新SSH版本,按向上的箭头键,选择第一项,Tab键切换到ok,确定

 

 

升级已经完成,重启服务器

 

sudo systemctl reboot

 

查看版本已经成功升级为12.1

 

$ cat /etc/debian_version
12.1