网站搜索

在 Gentoo Linux 中安装 LAMP(Linux、Apache、MySQL、PHP 和 PhpMyAdmin)


如果我们以当今硬件的功率处理为参考,那么通过 Gentoo 源代码编译软件所实现的最大性能影响最小。那么你可能会问使用 Gentoo 作为 Web 服务器平台的目的是什么?嗯,Gentoo 拥有的最重要的属性是它的极端灵活性,Portage 可以交付特定任务,并且最终用户可以实现对整个系统的完全控制,因为 Gentoo 它是编译和从源代码构建,并且不像大多数 Linux 发行版那样使用预打包的二进制文件。

本指南提供了著名的 LAMP 堆栈(LinuxApacheMySQLPHP/PhpMyAdmin)使用最小的 Gentoo 安装环境。

要求

  1. 按照本教程安装最小的 Gentoo Linux 环境(安装 Gentoo Linux)

第 1 步:配置静态 IP 地址

1. 在继续安装 LAMP 堆栈之前,必须为系统配置静态 IP 地址,这对于服务器来说是“必须的”。但是,在开始配置网络静态设置之前,请使用 ifconfig 命令显示网络接口卡名称。

ifconfig -a

正如您所看到的,NIC 的名称可能与 Linux 中使用的其他常见名称不同,例如 ethXensXX 或其他名称,因此请记下此名称以进行进一步设置。

2.如果您之前在网络中使用DHCP服务器,请确保使用以下命令在系统上拆除并禁用DHCP客户端 (用您的设置替换 IP 和设备)。

rc-update del dhcpcd default
/etc/init.d/dhcpcd stop
ifconfig eno16777736 down
ifconfig eno16777736 del 192.168.1.13 netmask 255.255.255.0
emerge –unmerge dhcpcd

3. 然后使用 NIC 连接接口的名称从网络环回设备创建符号链接,并在 /etc/conf.d/ 中为此设备创建静态配置文件小路。

ln -s /etc/init.d/net.lo  /etc/init.d/net.eno16777736
sudo nano /etc/conf.d/net.eno16777736

使用以下配置编辑此设备文件。

config_eno16777736="192.168.1.25 netmask 255.255.255.0 brd 192.168.1.255"
routes_eno16777736="default via 192.168.1.1"
dns_servers_eno16777736="192.168.1.1 8.8.8.8"

4. 编辑完 NIC 的静态配置后,启动网络接口并使用 ifconfigping 命令验证网络设置和连接,如果一切都已成功配置将其添加到启动过程中。

/etc/init.d/net.eno16777736 start
ifconfig
ping -c2 domain.tld
rc-update add net.eno16777736 default

如果您希望 DNS 名称服务器在系统范围内配置,请编辑 /etc/resolv.conf 文件并为每个 DNS IP 地址附加名称服务器字符串。

第2步:安装LAMP

5. 完成网络设置后,继续安装 LAMP 堆栈,但必须先验证 Gentoo 配置文件并更新 Portage 树和系统。

对于带有安全补丁的面向互联网的服务器,您可能需要使用强化配置文件来更改整个系统的软件包设置(掩码、USE 标志等)。使用以下命令列出和更改您的个人资料。

sudo eselect profile list
sudo eselect profile set 11

6. 设置最适合您的配置文件后,更新您的系统和 Portage 树。

sudo emerge --sync
sudo emerge --update @world

7. 现在是时候继续安装 LAMP 了。使用 emerge –pv 命令开关验证 Apache Web Server 文档中的 USE 标志,然后使用所需的 USE 标志编辑 Portage make.conf 文件,然后再尝试安装它。

emerge -pv apache
nano /etc/portage/make.conf

8.为编译过程选择USE标志(如果您的服务器不需要某些模块,则可以保留原样),然后使用以下命令安装Apache。

emerge --ask www-servers/apache

9. 在启动 Apache 服务之前,运行以下命令以避免 ServerName 错误,然后启动 httpd 守护进程。

echo “ServerName localhost” >> /etc/apache2/httpd.conf

service apache2  start

OR

/etc/init.d/apache2 start

10.下一步安装PHP动态脚本语言。由于 PHP 模块的丰富性,本教程将向您展示一个用作 USE 标志 的大型模块列表,但您应该坚持使用服务器配置所需的模块。

首先使用以下命令获取 PHP 的 USE 特定标志。

emerge -pv php

11.然后编辑/etc/portage/make.conf文件并为PHP5.5USE标志> (USE 标志必须位于一行)。

USE="apache2 php pam berkdb bzip2 cli crypt ctype exif fileinfo filter gdbm hash iconv ipv6 json -ldap nls opcache phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -bcmath calendar -cdb cgi -cjk curl -debug -embed -enchant -firebird -flatfile -fpm (-frontbase) ftp gd -gmp imap -inifile -intl -iodbc -kerberos -ldap-sasl -libedit libmysqlclient -mhash -mssql mysql mysqli -oci8-instant-client -odbc -pcntl pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -sqlite (-sybase-ct) -systemd -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt zip jpeg png pcre session unicode"

PHP_TARGETS="php5-5"

您可以使用的另一种方法是通过回显 USE 标志 将所需的 PHP 模块和选项包含到 /etc/portage/package.use 文件中。

echo “dev-lang/php apache2 cgi ctype curl curlwrappers -doc exif fastbuild filter ftp hash inifile json mysql mysqli pdo pic posix sockets spell truetype xml zip” >> /etc/portage/package.use

12. 使用所提供的两种方法之一选择所需的 USE 标志后,使用以下命令安装 PHP。

emerge --ask dev-lang/php

13. PHP 新兴过程可能需要一段时间,具体取决于您的系统资源,完成后通过编辑 /etc/conf.d/apache2 文件告诉 Apache 使用 PHP 模块在 APACHE2_OPTS 指令上添加 PHP5。

nano /etc/conf.d/apache2

使 APACHE2_OPTS 行看起来像这样。

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"

要获取已安装模块的列表,请使用以下命令。

ls -al /etc/apache2/modules.d/

14. 要测试到目前为止的服务器配置,请在 localhost 根目录 (/var/www/localhost/htdocs/) 上创建一个 phpinfo 文件,并重新启动 Apache 服务,然后将浏览器指向 http://localhost/info.phphttp://system_IP/info.php


echo "<!--?php phpinfo(); ?-->"  /var/www/localhost/htdocs/info.php
service apache2  restart

OR

/etc/init.d/apache2  restart

如果您得到与上图相同的结果,那么您的服务器配置正确。因此,我们可以继续安装 MySQL 数据库和 PhpMyAdmin。

15. 在安装 MySQL 数据库之前,请验证软件包USE 标志,并根据需要编辑 Portage make.conf。使用以下命令验证并安装 MySQL-server 数据库。

emerge -pv mysql
emerge --ask dev-db/mysql

16. 在启动 MySQL 服务器之前,请确保使用以下命令在系统上安装了 MySQL 数据库。

/usr/bin/mysql_install_db

17. 现在启动MySQL数据库并使用mysql_secure_installation通过更改root密码、禁用本地主机之外的root登录、删除匿名用户和测试数据库来保护它。

service mysql start
mysql_secure_installation

18. 要测试数据库功能,请登录 MySQL,发出以下命令并使用 quit 语句退出数据库。

mysql -u roo -p
mysql> select user,host from mysql.user;
mysql> quit;

19.如果您需要图形界面来管理MySQL服务器,请通过运行此命令安装PhpMyAdmin包。

emerge -pv phpmyadmin
emerge  dev-db/phpmyadmin

20. 软件包编译并安装后,通过复制其模板文件来创建 PhpMyAdmin 的配置文件,并使用任意字符串替换 blowfish_secret 密码。

cp /var/www/localhost/htdocs/phpmyadmin/config.sample.inc.php  /var/www/localhost/htdocs/phpmyadmin/config.inc.php
nano /var/www/localhost/htdocs/phpmyadmin/config.inc.php

21. 通过打开浏览器并使用以下 URL 来测试 PhpMyAdmin 登录过程。

http://localhost/phpmyadmin

22. 如果一切就绪,您可能希望在重新启动后自动启动您的服务,方法是使用以下命令使它们在系统范围内可用。

rc-update -v add apache2 default
rc-update -v add mysql default

就这样!现在,您在 Gentoo 提供的高度灵活且可定制的服务器平台上拥有一个包含 Apache、PHP 脚本语言和关系型 MySQL 数据库的动态 Web 环境。