如果我输入:
sudo apt-get install apache2
Run Code Online (Sandbox Code Playgroud)
我得到:
Setting up apache2-bin (2.4.7-1ubuntu4.8) ...
Setting up apache2-data (2.4.7-1ubuntu4.8) ...
Setting up apache2 (2.4.7-1ubuntu4.8) ...
ERROR: Config file dir.conf not properly enabled: /etc/apache2/mods-enabled/dir.conf is a real file, not touching it
dpkg: error processing package apache2 (--configure):
subprocess installed post-installation script returned error exit status 1
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
Errors were encountered while processing:
apache2
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)
输入:sudo apt-get install -f
输出:
Reading package lists... …Run Code Online (Sandbox Code Playgroud) 我的用户名是 jknoppf。我使用 Apache 并希望让自己完全访问 /var/www/html 并从
$ sudo adduser jknoppf www-data
Run Code Online (Sandbox Code Playgroud)
然后我有
$ sudo chown -R www-data:www-data /var/www/html
Run Code Online (Sandbox Code Playgroud)
有用!
但在一些论坛上我也读到了
$ sudo chown -R jknoppf:www-data /var/www/html
Run Code Online (Sandbox Code Playgroud)
它也有效!这两种 using 的变体有什么区别chown?
我有一个位于/var/www/web. 在其中一个文件中,比方说create_dir.php,我正在创建一个带有mkdir(). 我收到以下消息。
警告:mkdir():第 122 行 /var/www/web/create_dir.php 中的权限被拒绝
现在,当我是文件或目录的所有者时,我可以运行该文件。但是,当我不是所有者时,我无法编辑 PhpStorm 中的文件。
我的用户被调用josh,apache2 用户是默认用户,www-data.
我基本上需要创建一个组或一个特殊/魔法用户,以便我可以随时运行和编辑文件。
注意:我看过这个超级用户的答案,但它对我不起作用。我运行这个命令来创建组:
sudo groupadd website
Run Code Online (Sandbox Code Playgroud)
我运行这些命令来添加用户:
sudo usermod -a -G website josh
sudo usermod -a -G website www-data
Run Code Online (Sandbox Code Playgroud)
我运行此命令将其添加到 web 文件夹:
sudo chgrp -R website /var/www/web
Run Code Online (Sandbox Code Playgroud)
我运行了这个命令,一旦我重新加载了我的网站,我就会收到一条禁止错误消息。
sudo chmod -R 770 /var/www/web
Run Code Online (Sandbox Code Playgroud)
所以我运行了这个命令来查看网页:
sudo chmod -R 775 /var/www/web
Run Code Online (Sandbox Code Playgroud)
现在我又回到了第一点。
任何帮助表示赞赏。
我的理解是 Apache2
...默认 HTTPS 配置将使用
由 ssl-cert 包生成的证书和密钥。
这意味着每个ssl-cert安装的文件ssl-cert-snakeoil.pem和ssl-cert-snakeoil.key都是唯一的?生成它们的脚本在哪里?
我一直在尝试在安装了灯的 Ubuntu 16.04.3 LTS、php 7.2、mysql Ver 15.1 Distrib 10.2.12-MariaDB 中安装 phpmyadmin,用于 debian-linux-gnu (x86_64) 使用 readline 5.2 和 apache2。
我正在关注digitalOcean 的这篇文章,但是当我来到需要运行的部分时,sudo phpenmod mcrypt我收到一条消息说..
警告:/etc/php/7.2/mods-available 下不存在
模块 mcrypt ini 文件 警告:/etc/php/7.2/mods-available 下不存在模块 mcrypt ini 文件
我在godaddy中安装的ubuntu上执行此操作
你能为此提供最佳解决方案吗?
我按照本教程设置了 Apache 虚拟主机,但浏览器无法提供主页。
\n\n这是我的 .conf 文件
\n\n<VirtualHost *:80>\n ServerAdmin webmaster@ednet.dev\n ServerName ednet.dev\n ServerAlias www.ednet.dev\n DocumentRoot /var/www/html/ednet/public\n ErrorLog ${APACHE_LOG_DIR}/error.log\n CustomLog ${APACHE_LOG_DIR}/access.log combined\n</VirtualHost>\nRun Code Online (Sandbox Code Playgroud)\n\n我的主机文件
\n\n127.0.0.1 localhost\n127.0.1.1 asad-HP-ProBook-4530s\n127.0.0.1 ednet.dev\n\n# The following lines are desirable for IPv6 capable hosts\n::1 ip6-localhost ip6-loopback\nfe00::0 ip6-localnet\nff00::0 ip6-mcastprefix\nff02::1 ip6-allnodes\nff02::2 ip6-allrouters\nRun Code Online (Sandbox Code Playgroud)\n\n但是当我尝试ednet.dev在浏览器中打开时出现错误
This site can\xe2\x80\x99t be reached\nednet.dev refused to connect.\nTry:\n\nChecking the connection\nChecking the proxy and the firewall\nERR_CONNECTION_REFUSED\nRun Code Online (Sandbox Code Playgroud)\n\nsudo netstat -na | grep 80输出
asad@asad-HP-ProBook-4530s:~$ sudo netstat -na …Run Code Online (Sandbox Code Playgroud) 我无法停止 apache2。我想使用 nginx,因此,我想删除/停止 apache2,但我不能。我已经尝试了此链接上的所有方法,但是当我刷新http://127.0.0.1/ 时,我仍然在那里看到 apche2。
当我运行时,sudo service apache2 start我收到此错误:
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
Run Code Online (Sandbox Code Playgroud)
当我跑步时,systemctl status apache2.service我得到了这个:
? apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2019-01-15 16:20:26 -03; 7min ago
Process: 8101 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
ene 15 16:20:26 pc systemd[1]: Starting The Apache HTTP Server...
ene 15 16:20:26 pc apachectl[8101]: AH00558: apache2: …Run Code Online (Sandbox Code Playgroud) 出于安全原因,我想通过 ssh 禁用 root 访问。
我创建了一个具有管理权限的新用户 (user1)。
adduser user1
usermod -aG sudo user1
Run Code Online (Sandbox Code Playgroud)
并将 /www 目录分配给该用户。
sudo chown -R $USER:$USER /var/www/
sudo chmod -R 755 /var/www
Run Code Online (Sandbox Code Playgroud)
(我的文件夹结构是 www/site1.com、www/site2.com 等)
我的网站需要写一些文件(比如sitemaps、rss feeds等)所以我把www目录的权限设置为:
sudo chown -R www-data:www-data /var/www
sudo chmod -R 755 /var/www
Run Code Online (Sandbox Code Playgroud)
但是,现在用户 user1 通过 shell 使用 sudo 命令完美工作,但不能再通过 sftp 添加/编辑/删除 /www 目录及其子目录中的文件和文件夹。
我阅读了很多指南,如何设置 apache 权限以提高安全性,与其他用户共享管理等等等等。
但我仍然不明白如何解决我的问题。
目前为了能够通过 sftp 处理我服务器上的文件,我必须使用 root 用户,以确保安全。
我是否错过了有关设置用户或文件夹权限的内容?
我看到很多关于在 ubuntu 20 上安装 LAMP 堆栈的指南。但它们都是一次一行手动完成的。在新安装的 Ubuntu 20.04 服务器上是否有一个简单的脚本或一个衬垫来安装 LAMP 堆栈?