初探OpenSUSE
实训使用OpenSUSE leap15.2作为服务器系统,要求搭建基本的lnmp服务,之前一直用的CentOS7,和SUSE的命令稍有些出入,记录一下。
换源
- 首先禁用默认软件源
sudo zypper mr -da
阿里和中科大选一个即可,多了影响速度。
- Aliyun mirrors 阿里软件源
1 | zypper ar -fc https://mirrors.aliyun.com/opensuse/distribution/leap/15.2/repo/oss openSUSE-Aliyun-OSS |
- USTC mirros 中科大软件源
1 | zypper ar -fcg https://mirrors.ustc.edu.cn/opensuse/distribution/leap/15.2/repo/oss USTC:15.2:OSS |
- pacman 清华大学pacman软件源
1 | zypper ar -fcg https://mirrors.tuna.tsinghua.edu.cn/packman/suse/openSUSE_Leap_15.2/ TUNA:15.2:PACKMAN |
- 需要更新软件源:
zypper ref
软件包+常用软件
1 | zypper update |
桌面
服务器性能不错,装了个xfce桌面。
1 | zypper -n in patterns-openSUSE-xfce |
卸载office套件
1 | zypper rm libreoffice* |
重启+启动
1 | reboot |
卸载
1 | zypper -n rm patterns-openSUSE-xfce xfce4-* libxfce4* |
VNC的使用:
https://documentation.suse.com/zh-cn/sles/11-SP4/html/SLES-all/cha-vnc.html
安装mariadb
1 | zypper install mariadb mariadb-server |
MariaDB设置初始化密码及修改密码/var/log/mysqld.log
方法一
1
2
3
4[root@localhost ~]# mysql -uroot
MariaDB [(none)]> use mysql;
MariaDB [mysql]> SET password=PASSWORD('newpassward');
MariaDB [mysql]> FLUSH PRIVILEGES;方法二
1
2
3
4[root@localhost ~]# mysql -uroot
MariaDB [(none)]> use mysql;
MariaDB [mysql]> UPDATE mysql.user SET password = PASSWORD('newpassward') WHERE user = 'root';
MariaDB [mysql]> FLUSH PRIVILEGES;方法三
1
2
3[root@localhost ~]# mysqladmin -u root password 'newpassword'
如果root已经设置过密码,采用如下方法
[root@localhost ~]# mysqladmin -u root -p 'oldpassword' password 'newpassword'
安装mysql 5.7
- 下载Mysql
1 | wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.34-1.sles12.x86_64.rpm-bundle.tar |
- 解压
1 | tar -xvf mysql-5.7.34-1.sles12.x86_64.rpm-bundle.tar |
- 安装
1 | sudo rpm -i mysql-community-common-5.7.34-1.sles12.x86_64.rpm |
- 启动
systemctl start mysql
- 上
/var/log/mysql/mysqld.log中找密码
登陆
mysql -u root -p
改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'XSDFaaa@sadf897' PASSWORD EXPIRE NEVER;
刷新
flush privileges;
建库
1 | > create database zabbix character set utf8 collate utf8_bin; |
安装apache2(php7)
1 | sudo zypper in apache2 apache2-doc apache2-example-pages apache2-utils apache2-prefork apache2-mod_perl apache2-mod_php7 |
php-fpm
- 安装PHP-FPM
1 | zypper in php7-fpm php7-opcache php7-zlib php7-mcrypt php7-gd php7-mbstring php7-xmlrpc php7-zip php7-mysql php7-curl php7-exif php7-ftp php7-imap php7-openssl |
- 装好后的php.ini在
/etc/php7/apache目录下,但由于用的是php-fpm,所以要把这个php.ini拷贝到/etc/php7/php-fpm目录下,同时,php-fpm的默认配置文件也在上述目录里面:
1 | cp /etc/php7/fpm/php-fpm.conf.default /etc/php7/fpm/php-fpm.conf |
系统自带的apache默认用户是wwwrun,组是www,为了避免以后权限上的麻烦,编辑
/etc/php7/fpm/php-fpm.d/www.conf,指定php-fpm的用户/组为wwwrun/www。在
/etc/apache2/conf.d下添加一个php.conf文件,让apache知道php-fpm的存在,内容如下:
1 | <FilesMatch "\.php$"> |
- 开启错误日志
1 | vim /etc/php7/fpm/php-fpm.conf |
取消注释:error_log = log/php-fpm.log
- 在
/etc/php/cli/php.ini文件中保护PHP-FPM
将;cgi.fix_pathinfo=1改为cgi.fix_pathinfo=0
- 配置Nginx以使用PHP-FPM
此时,我们需要在默认的Nginx配置文件中配置Nginx以使用PHP-FPM 。
vim /etc/nginx/nginx.conf
然后查找以下部分,并将index.php添加到预期索引文件列表中。
1 | location / { |
由于环境与老师提供的软件版本不兼容(第三方yum仓库,而且提供的包太老了),SUSE的服务配置和CentOS7也有出入,后续zabbix和jspgou等服务一堆问题待解决,时间有限,折腾不动了,这课划划水得了。
这文章里的配置过程也写得比较粗糙,突出一个能跑就行,本来就打算交完作业就直接重装系统的…
如果不用manjaro的滚更,我大概率还是会上大蜥蜴Leap 15.2的桌面版,至少双系统是有一份的,等那天再继续补,将openSUSE配置到能日用的地步,具体能不能主力linux就看win11的表现了。
参考
https://www.howtoing.com/install-lemp-nginx-php-mariadb-phpmyadmin-in-opensuse