我已经在没有 SSL 的 ubuntu 服务器上运行 apache2 多年了。现在想有一些ssl下发的目录,找不到最近写的简单的教程。我发现的最好的是http://vanemery.com/Linux/Apache/apache-SSL.html但它告诉我把东西放在 /etc/httpd/conf 我不想猜测这应该转化为/etc/apache2/conf 因为基于旧教程的猜测已经破坏了我的网络服务。
我查看了(快速阅读)Apache 模块 mod_log_config并且无法弄清楚 apache2 默认日志格式是什么以及在哪里定义它。任何的想法?
请注意,什么是
/etc/apache2/conf.d/other-vhosts-access-log
不是默认选项而是全局选项。
如何使用 Ubuntu 12.04 设置“基于名称的”虚拟主机?
我已按照https://help.ubuntu.com/12.04/serverguide/httpd.html#http-configuration 中给出的说明进行操作。
我做了以下...
cp default newsite经过一番研究,我发现了一篇博客文章,其中指出我需要使用a2dissite default. 在我这样做之后,它起作用了。那是对的吗?这在 Ubuntu 服务器指南中从未提及。该指南还包括这一行...
“默认的虚拟主机没有指定 ServerName 指令,因此它将响应与另一个虚拟主机中的 ServerName 指令不匹配的所有请求。”
这似乎意味着默认站点和其他站点可以共存。
我正在运行 12.04 Server 的全新安装,并且每次进行调整时都重新加载了 apache 配置。
总之......在/etc/apache2/sites-available下添加一个新文件(添加了ServerName指令的“默认”文件的更改副本)和/etc/apache2/sites-enabled下的相应符号链接后,是是否有必要禁用或重命名默认站点符号链接以使新站点正常运行?下面给出的文档和一个答案似乎推断没有必要这样做,但如果是这样,我做错了什么?使用下面的配置,当我尝试访问 newsite.example.com 时,我得到了默认站点。
/etc/apache2/sites-available$ cat 默认
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny …Run Code Online (Sandbox Code Playgroud) 我已经安装了 Xampp 1.8.3.1 .run 文件。当我打字时
/opt/lampp/lampp start
Run Code Online (Sandbox Code Playgroud)
然后它给了我这样的信息
XAMPP: Starting Apache...fail.
XAMPP: Another web server is already running.
XAMPP: Starting MySQL...ok.
XAMPP: Starting ProFTPD...ok.
Run Code Online (Sandbox Code Playgroud) 首先 - 我已经查看并尝试了几种方法,包括 https://askubuntu.com/questions/94805/apache-server-not-starting/
我正在使用Ubuntu 14.04 64 位
我已经使用 serverfault 上的答案清除了
我做了
每隔几天,大约有 100 个站点就会使 VPS 崩溃。Apache 连接达到数百个,而 mysql 请求达到数百万个。这会导致 CPU 永久处于 100% 以上,并使服务器完全无法使用。重新启动可修复几天的情况。怎么找到坏人?
我已经打开了扩展状态的上帝 mod_status 但它仍然只显示最近的几个请求。不知道如何使用它来缩小 100 个站点的范围。
其余时间服务器使用 20-30% 的资源,因此它不会因站点过载。
我一直在到处寻找一种解决方案,以便能够使用虚拟主机在我的所有 URL 前强制使用 https://www。这是我目前在 000-default.conf 文件中的内容:
<VirtualHost *:80>
ServerName www.domain.com
Redirect / https://www.domain.com/
</VirtualHost >
Run Code Online (Sandbox Code Playgroud)
这意味着所有 www. 将重定向到 https://www。
现在我缺少将所有/任何其他形式的 URL 重定向到https://www 的代码。使用相同的概念(不是 RewriteEngine,因为 Apache 建议不要在简单重定向上使用 RewriteEngine)。
例如:
他们都会去=> https://www.domain.com
如果有人能指出我正确的方向,那就太好了!
我想更改和添加一些 PHP 指令,一些用于 apache,一些用于 CLI,一些用于两者。例如,我想为所有服务器上下文设置默认时区。有几种不同的方法可以解决这个问题,但我不知道哪种方法是最好的。
我可以直接编辑主php.ini文件,这里/etc/php/7.0/apache2/php.ini和这里/etc/php/7.0/cli/php.ini,但我不知道这个文件会不会在升级时被覆盖。同样对于共享设置,例如时区,我必须记住编辑两个文件并保持这些更改同步。
我可以使用Apache的php_admin_value,php_admin_flag,php_value和php_flag指令。这里的优点是 php 设置可以在虚拟主机的基础上应用到虚拟主机上,我也可以将它们全局应用到 Apache。但是,这对 CLI 设置没有帮助。
php 目录具有与 Apache 类似的结构,允许使用phpenmod命令启用或禁用充满指令的文件。我可以复制这个结构,创建目录/etc/php/7.0/mydirectives,php.ini在这个文件夹中放置文件,然后从/etc/php/7.0/apache2/conf.d/我的 php.ini 指令文件创建符号链接。这让我有一个单一的指令文件它增加了指令来既Apache和PHP的CLI版本。我唯一不能做的就是通过虚拟指令虚拟主机。
有关如何正确执行此操作的任何建议?
我的公司有一个人们注册的网络托管服务。注册过程完成后,我们手动进入并创建一个测试/开发环境供该客户端使用。一般流程是这样的:
somerandomstring.devserver.com尽管我们使用脚本来执行此操作,但数量决定了手动登录并运行它们现在很不方便。因此,我们希望在客户注册过程完成后立即自动触发此过程。
我想了几种方法来处理这个问题。
1) 赋予用户adduser能力并使用PHPexec()函数创建该用户。www-data不过,我必须赋予这种能力,对吗?PHP 在安全模式下运行时,exec() 的命令被限制在指定的目录中。因此,如果我将 /usr/sbin/adduser 复制到只有该命令可用的 /my/custom/dir ,那么挥之不去的安全问题会是什么?我仍然不知如何用新站点更新sites-available文件夹,因为这些文件夹归root所有。
2)让cron来做:一个人必须注册该服务,所以默认情况下他们有一个用户名和其他客户端数据存储在mysql中。从具有adduser功能的帐户中,让 cron 运行一个例行脚本来检查新帐户(可能每 30 到 60 秒一次)。如果找到,为它们创建一个 linux 帐户,填充主目录,写入 apache conf 虚拟主机文件,然后重新加载 apache。
选项 2 感觉是最安全的方式,因为独立的管理员帐户可以处理此问题,而无需 www-data 或网站必须执行系统脚本和程序。问题是批次。最好,我想找到一个选项 1 解决方案,以便立即注册客户端并将它们重定向到已安装并准备使用的服务器实例。我也不喜欢我不得不重新加载/重新启动 apache 这么多。
公司每天都这样做,尤其是网络托管公司。例如,Bluehost 完成注册过程后,您可以立即访问 /home/user/public_html 并与之交互。因为存在商业解决方案,我相信已经对如何安全可靠地完成它进行了很多思考。我想要完成的事情是相同的,只是规模要小得多。
我正在尝试使用本教程在 ubuntu 上安装 amp。 如何在 Ubuntu 16.04 上安装 Linux、Apache、MySQL、PHP (LAMP) 堆栈
在教程的 apache 部分,它说如下: 设置全局服务器名称以抑制语法警告 接下来,我们将在 /etc/apache2/apache2.conf 文件中添加一行以抑制警告消息。 我在系统上找不到这样的目录。我已经安装了 apache,但找不到任何此类文件。
谢谢阅读。