标签归档:Oracle Cloud

在Oracle Cloud免费云上部署LAMP系统

写在前面的话
申请到了甲骨文云的免费4核24G的服务器,如果没什么问题的话,等阿里云到期后打算搬过去作为长期据点。
P.S. 经济形势算是彻底呜呼哀哉了,长期时间、大比例降杠杆已成必然,要做好开源节流。

~~~更新后续~~~
!!!一周后发现甲骨文云未经通知回收了我的实例。经此一役,对Oracle Cloud失去信任,不建议使用甲骨文云服务。


Install WordPress with LAMP on Oracle Linux (OCI)

准备工作
-注册Oracle Cloud免费云
-创建实例
-配置网关放行80和443端口


实例磁盘配置及挂载

#查看实例是否有数据盘
sudo fdisk -l
#查看数据盘是否分区格式化
sudo lsblk

#对数据盘分区
#如有必要,切换root操作
sudo -i

#挂载网站数据
fdisk /dev/sdb
n
p
1
wq

#对数据盘格式化
mkfs.ext4 /dev/sdb1

#查看挂载情况
df -ahT

#建立挂载目录
mkdir /var/www/html

#添加启动挂载
sudo sh -c echo '/dev/sdb1 /var/www/html ext4 defaults 0 0'>>/etc/fstab

#挂载分区
mount -a

#更新
sudo yum -y update

安装Apache

#查看系统版本
cat /etc/redhat-release

#查看当前防火墙的状态
sudo systemctl status firewalld
#临时关闭防火墙(如有必要)
#sudo systemctl stop firewalld
#查看SELinux的当前状态
#getenforce
#临时关闭SELinux(如有必要)
#sudo setenforce 0

#安装Apache服务
sudo yum install httpd
#查看Apache的版本号
httpd -v
#启动Apache服务并设置服务开机自启动
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl status httpd

在iptables中放行http和https端口
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

#如果使用SELinux,它默认会阻止HTTP服务器进行网络连接,设置apache可以连接网络。
sudo setsebool -P httpd_can_network_connect true

#配置Apache
/etc/httpd/conf/httpd.conf
#配置方法请参见鸟哥的Linux私房菜

#添加启动挂载
sudo sh -c echo '/dev/sdb1 /var/www/html ext4 defaults 0 0'>>/etc/fstab
#挂载分区
mount -a
systemctl daemon-reload

调整apache网站目录的权限

#查看apache的用户组和用户名
ps -ef | grep apache
#修改权限
sudo chown -R apache:apache /var/www/html
cd /var/www
sudo find . -type d -exec sudo chmod 0755 {} \;
sudo find . -type f -exec sudo chmod 0644 {} \;
#设置网站目录权限为755,只有root用户对目录拥有读写执行的权限,用户组有读执行权限,其它用户有读执行权限。
#设置网站文件权限为644,只有root用户对网站文件有更改的权限,http服务器只有读取文件的权限,其它用户有读执行权限。

#改变SELinux文件属性即修改文件的安全上下文
sudo chcon -t httpd_sys_content_t /var/www/html -R
sudo chcon -t httpd_sys_rw_content_t /var/www/html -R

安装mysql

#到Mysql的yum仓库查看相应的版本信息https://dev.mysql.com/downloads/repo/yum/

#下载对应的RPM package
oracle linux 8:
sudo wget https://repo.mysql.com//mysql80-community-release-el8-9.noarch.rpm
oracle linux 9:
sudo wget https://repo.mysql.com//mysql80-community-release-el9-5.noarch.rpm

#安装RPM package
oracle linux 8:
sudo yum -y install mysql80-community-release-el8-9.noarch.rpm
oracle linux 9:
sudo yum -y install mysql80-community-release-el9-5.noarch.rpm

#添加Mysql Yum仓到系统的仓库列表
yum repolist enabled | grep mysql.*-community

#(仅)Oracle Linux 8包含一个默认启用的MySQL模块,除非该模块被禁用,否则它会屏蔽MySQL存储库提供的包。
#yum module disable mysql

#安装mysql
sudo yum install mysql-community-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl status mysqld

#获取MySQL的初始密码
sudo grep "password" /var/log/mysqld.log

#配置MySQL的安全性
sudo mysql_secure_installation
#>重置root账号的密码。(需输入上一步的初始密码)
#>输入Y删除匿名用户账号。
#>输入Y禁止root账号远程登录。
#>输入Y删除test库以及对test库的访问权限。
#>输入Y重新加载授权表。

#重启服务mysql
sudo systemctl restart mysqld

安装PHP

sudo yum install php
sudo yum install -y php-mysqlnd php-zip php-gd php-intl
sudo yum install php-imagick
sudo systemctl restart httpd

#查看php版本及php.ini配置文件的位置
php -v
php --ini

#编辑PHP配置文件php.ini
vim /etc/php.ini
#改变文件上传限值(分别是最大执行时间、最大内存限制、最大POST数据量、最大文件上传大小)
max_execution_time = 300
memory_limit = 512M
post_max_size = 128M
upload_max_filesize = 128M

#重启php
sudo systemctl restart php-fpm

#在Apache网站根目录创建测试文件
sudo sh -c 'echo "<!--?php phpinfo(); ?-->" > /var/www/html/phpinfo.php'

#输入http://实例公网IP/phpinfo.php
#安全起见,测试后删除phpinfo.php。

配置数据库

sudo mysql -u root -p
例如:
#创建一个名叫wordpress_db的数据库;
#创建一个名为wordpress_user的用户,密码为password,连接到wordpress_db数据库;
#刷新权限;
#退出数据库
> CREATE DATABASE wordpress_db;
> CREATE USER wordpress_user@'localhost' IDENTIFIED BY 'password';
> GRANT ALL PRIVILEGES ON wordpress_user.* TO 'wordpress_user'@'localhost';
> FLUSH PRIVILEGES;
> EXIT

#若用phpmyadmin,需改一下密码方式。
sudo mysql -u root -p
alter user 'wordpress_user'@'localhost' identified with mysql_native_password by 'password';

#重启服务mysql
sudo systemctl restart mysqld

安装phpMyadmin

#用于管理Mysql,导入导出修改替换等操作。
#创建phpMyAdmin数据存放目录
sudo mkdir -p /var/www/html/phpmyadmin

#返回系统主目录并下载phpMyAdmin压缩包
#查看版本https://www.phpmyadmin.net/downloads
cd
sudo wget --no-check-certificate https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip

#安装unzip工具并解压phpMyAdmin压缩包
sudo yum install -y unzip
sudo unzip phpMyAdmin-5.2.1-all-languages

#复制phpMyAdmin文件到准备好的数据存放目录
sudo mv phpMyAdmin-5.2.1-all-languages/* /var/www/html/phpmyadmin

#http://实例公网 IP/phpmyadmin,访问phpMyAdmin登录页面