CentOS 7 开发服务器搭建完全版 (v.0.0.5)

目录

    • 初期設定

 

    • Apache 2.4

 

    • MariaDB 10.1

PHP 7.0

Composer
phpMyAdmin

Node.js v6

起初的设定安装

安装基本软件包,其中包括 Git。

$ yum update
$ yum groupinstall -y Base

添加 EPEL 软件仓库

$ yum install -y epel-release

设置 Vim 别名(选项)

編輯 Bash 設定檔案

$ vim ~/.bashrc
+alias vi='vim '

重新加载

$ source ~/.bashrc

▲ 返回目录

亚马逊 EC2 风格

功能

    • ec2-user に相当するユーザー(キーペア認証、パスワードなしsudo)

 

    • Amazon EC2 と同一の SSH 設定

 

    その他 同一設定の適用

用户管理员用户(ec2用户)
用户名admin在发行OpenSSL服务器证书时也被使用。

$ useradd -G wheel admin

设置密钥认证遥控

以管理员用户登录

$ su - admin

配置适当的文件夹和文件的访问权限。

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

创建私钥和公钥。

$ ssh-keygen -t rsa -C "dev.example.com"
Your identification has been saved in /home/admin/.ssh/id_rsa.
Your public key has been saved in /home/admin/.ssh/id_rsa.pub.

将公钥添加到 authorized_keys 文件中并删除

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ rm ~/.ssh/id_rsa.pub

本土的

可以通过使用scp命令将秘密密钥从远程设置到本地。

$ scp root@dev.example.com:/home/admin/.ssh/id_rsa ~/.ssh/dev.example.com.pem

远程

删除私钥并退出登录

$ rm ~/.ssh/id_rsa
$ exit  # admin
$ exit  # root

当地的

$ vim ~/.ssh/config
+Host dev.example.com
+    HostName        dev.example.com
+    User            admin
+    IdentityFile    ~/.ssh/dev.example.com.pem

确认是否可以用管理员用户登录
如果登录失败,请再次用根用户登录并重新确认设置。

$ ssh dev.example.com

Sudo 用户设置禁用wheel组的sudo命令

$ sudo visudo
-Defaults    requiretty
+#Defaults    requiretty

-%wheel  ALL=(ALL)       ALL
+#%wheel ALL=(ALL)       ALL

在个别设置中启用无需管理员用户密码的sudo命令

$ visudo -f /etc/sudoers.d/admin
admin ALL = NOPASSWD: ALL
admin ALL=(ALL) NOPASSWD:ALL

以 admin 用户身份登录并确认 sudo 命令的操作。

$ su - admin
$ sudo tail /var/log/secure

SSH 配置
编辑设置文件
与亚马逊 EC2 (亚马逊 Linux)相同的设置

$ vim /etc/ssh/sshd_config
-#PermitRootLogin yes
+PermitRootLogin forced-commands-only

-PasswordAuthentication yes
+PasswordAuthentication no

-GSSAPIAuthentication yes
-GSSAPICleanupCredentials no
+#GSSAPIAuthentication yes
+#GSSAPICleanupCredentials no

-#PrintLastLog yes
+PrintLastLog yes

请注意,如果管理员用户的密钥认证失败,将无法登录,请重新启动SSH服务。

$ sudo systemctl restart sshd

禁用 SELinux

确认当前状态

$ getenforce
Enforcing

编辑设定文件

$ sudo vim /etc/sysconfig/selinux
-SELINUX=enforcing
+SELINUX=disabled

为了使设置生效,需要重新启动。

sudo reboot

确认是否失能

$ getenforce
Disabled

更改主机名(选项)

确认当前的主机名

$ hostname

编辑配置文件

$ sudo vim /etc/hostname
dev.example.com

为了使设置生效,请重新启动

$ sudo reboot

确认新的主机名

$ hostname
dev.example.com

▲ 返回目录

打开SSL(选项)

使用Apache 2.x + mod_ssl + OpenSSL来生成CSR(新建或更新)。

[CSR生成] 使用Apache 2.x + mod_ssl + OpenSSL(新建或更新)。

创建 SSL 服务器证书生成私钥并解除密码

$ sudo openssl genrsa -des3 -out dev.example.com.key 2048
$ sudo openssl rsa -in dev.example.com.key -out dev.example.com.key

使用私钥生成CSR。

$ sudo openssl req -new -key dev.example.com.key -out dev.example.com.csr
フィールド説明例Country Name※国を示す2文字のISO略語です。JPState or Province Name※組織が置かれている都道府県です。OsakaLocality Name※組織が置かれている市区町村です。Osaka-shiOrganization Name※組織の名称です。GlobalSign K.K.Organization Unit Name組織での部署名です。
※指定がない場合は – (ハイフン)を入力してください。SalesCommon Name※ウェブサーバのFQDNです。dev.example.comEmail Address入力不要です。
A challenge password入力不要です。
An optional company name入力不要です。推荐认证机构

SSLストア RapidSSL 1年 1,620円 (2016年8月)

namecheap RapidSSL $10.95/yr (英語、2016年8月)

StartSSL 無料 (英語、高難度)

使用CSR从SSL认证机构颁发的证书中创建服务器证书文件。
按照服务器证书、中间证书和根证书的顺序进行描述。

$ sudo vim dev.example.com.crt

在配置服务器证书和私钥之后,删除来自服务器的CSR(不推荐重复使用)。

$ sudo mv dev.example.com.crt /etc/pki/tls/certs/dev.example.com.crt
$ sudo mv dev.example.com.key /etc/pki/tls/private/dev.example.com.key
$ sudo rm dev.example.com.csr

▲ 返回目录

Apache 2.4的意思是:Apache的第2.4版本。
安装

安装最新版本

$ sudo yum install -y httpd

启用自动启动

$ sudo systemctl enable httpd

启动 Apache

$ sudo systemctl start httpd

防火墙设置

4.5. 使用防火墙

开放端口HTTP(80)。

$ sudo firewall-cmd --zone=public --add-service=http --permanent
$ sudo firewall-cmd --reload

基本设置

备份设置文件

$ sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org

虛擬主機設定

    • Control Default Apache Virtual Host

 

    Apache Virtual Host Containers in Separate Files
$ sudo vim /etc/httpd/cond.d/vhosts.conf
<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    DocumentRoot /var/www/dev.example.com/public_html
    ServerName dev.example.com

    <Directory /var/www/dev.example.com/public_html>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

重新启动Apache。

$ sudo systemctl restart httpd

打开 OpenSSL 的设置增加 Apache OpenSSL 模块。

$ sudo yum install -y mod_ssl

設定文件的備份

$ sudo cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.org

编辑设定文件

$ sudo vim /etc/httpd/conf.d/ssl.conf
-#DocumentRoot "/var/www/html"
-#ServerName www.example.com:443
+DocumentRoot "/var/www/dev.example.com/public_html"
+ServerName dev.example.com:443

-SSLCertificateFile /etc/pki/tls/certs/localhost.crt
+SSLCertificateFile /etc/pki/tls/certs/dev.example.com.crt

-SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
+SSLCertificateKeyFile /etc/pki/tls/private/dev.example.com.key

SSL优先(选项)

将访问 HTTP(80)的用户重定向到 HTTPS(443)。

$ sudo vim /etc/httpd/conf.d/vhosts.conf
<VirtualHost *:80>
    ServerName dev.example.com
    RewriteEngine On
    RewriteRule ^(.*) https://dev.example.com$1 [L,R=301]
</VirtualHost>

重新加载 Apache 的配置

$ sudo systemctl reload httpd

防火墙的设置

4.5. 使用防火墙

解放HTTPS(443)端口

$ sudo firewall-cmd --zone=public --add-service=https --permanent
$ sudo firewall-cmd --reload

▲ 返回目录

MariaDB 10.1: MariaDB 十点一
将CentOS 7中的MySQL更改为与MySQL兼容的MariaDB。

安装

    • Installing MariaDB with yum

 

    yum による MariaDB のインストール

添加最新版本的 MariaDB 仓库

$ sudo vim /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

安装最新版本

$ sudo yum install -y MariaDB-server MariaDB-client

启用自动启动

$ sudo systemctl enable mariadb

启动MariaDB

$ sudo systemctl start mariadb

基本设定

进行初始设置并安装

$ mysql_secure_installation
フィールド例Enter current password for root (enter for none):未入力Set root password? [Y/n]YNew password:新しいパスワードRe-enter new password:新しいパスワード確認Remove anonymous users? [Y/n]YDisallow root login remotely? [Y/n]YRemove test database and access to it? [Y/n]YReload privilege tables now? [Y/n]Y编辑设置文件
将字符编码更改为UTF-8

$ sudo vim /etc/my.cnf.d/server.cnf
[mysqld]
+character-set-server=utf8

重启 MariaDB

$ sudo systemctl restart mariadb

防火墙设置(选项)

4.5. 使用防火墙

    MariaDB(3306) のポートを解放
$ sudo firewall-cmd --zone=public --add-service=mysql --permanent
$ sudo firewall-cmd --reload

▲ 返回目录

PHP 7.0的版本安装

添加Remi存储库

雷米的RPM仓库

$ wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
$ sudo rpm -Uvh remi-release-7.rpm
$ rm remi-release-7.rpm

安装最新版的 PHP

$ sudo yum --enablerepo=remi-php70 install php php-gd php-intl php-mbstring php-mysqlnd php-opcache php-pdo php-posix php-xml

基本设定- Basic configuration

設定文件的備份

$ sudo cp /etc/php.ini /etc/php.ini.default

编辑 PHP 配置文件

$ sudo vim /etc/php.ini
-;date.timezone =
+date.timezone = "Asia/Tokyo"

重新启动 Apache

$ sudo systemctl restart httpd

作曲家 jiā)PHP 包管理器

下载 Composer

下载

$ sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ sudo php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ sudo php composer-setup.php
$ sudo php -r "unlink('composer-setup.php');"

移动到当前文件夹

$ sudo mv composer.phar /usr/local/bin/composer

phpMyAdmin 4.6是一个用于管理MySQL数据库的开源工具。
在网络上运行的 MySQL (MariaDB) 数据库连接客户端工具。

安装最新版本(remit-test仓库)

$ sudo yum --enablerepo=remi-test,remi-php70 install phpMyAdmin

添加IP地址许可

$ sudo vim /etc/httpd/conf.d/phpMyAdmin.conf
<Directory /usr/share/phpMyAdmin/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     Require local
+    Require ip IPアドレス
   </IfModule>
</Directory>

重新启动 Apache

$ sudo systemctl restart httpd

动作确认
http://dev.example.com/phpMyAdmin/
http://dev.example.com/phpmyadmin/

▲ 返回目录

Node.js v6 → Node.js 第6版通过软件包管理器安装Node.js

添加最新版本的存储库

$ curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -

安装最新版本

$ sudo yum install -y nodejs

安装基本软件包(选项)。

    • Bower

 

    Less.js
$ sudo npm install -g bower less

▲ 返回目录

请完成以下任务。

    • 見出し、内容の整理

 

    • Node.js Apache リバースプロキシ

 

    • FTP サーバ

 

    • メールサーバ Postfix, Dovecot

 

    • Ruby, Python

 

    • nginx (未定)

 

    • ファイアウォール trusted の追加 ssh mysql の削除

 

    Redmine

bannerAds