我今天将我的 kubuntu 更新到 13.10,我之前运行良好的虚拟主机不再运行。
在s2ensite与a2dissite命令要求“网站XXXXXX并不存在”连文件都在网站-aviable并分别在网站启用我tryed从启用的网站,删除,然后重新启用它们,但仍阿帕奇声称他们就不会存在。
这是我的虚拟主机之一。他们基本上都是这样。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName expsite.local
DocumentRoot /var/www/expsite/htdocs
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/expsite/htdocs/>
Options Indexes FollowSymLinks MultiViews
AllowOverride FileInfo
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
# Allow from all
# </Directory>
CustomLog /var/www/expsite/logs/access.log combined
ErrorLog /var/www/expsite/logs/error.log
LogLevel warn
# Alias /doc/ "/usr/share/doc/"
# <Directory "/usr/share/doc/">
# Options Indexes …Run Code Online (Sandbox Code Playgroud) 我可以访问localhost但不能访问子目录index.html
我的default conf样子:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/*/>
Allow from None
Order allow,deny
</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
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined …Run Code Online (Sandbox Code Playgroud) 我在 Ubuntu 14.04 上安装了 Apache 2.4,并且按http://localhost/地址运行正常。但是当我尝试添加一个新的虚拟主机时,例如http://bow.loc并重新启动 apache,新地址http://bow.loc在http://localhost.
我的配置是:
<VirtualHost *:80>
ServerName www.bow.loc
ServerAlias bow.loc
DocumentRoot /var/www/html/bow/web
<Directory /var/www/html/bow>
AllowOverride All
Options FollowSymLinks MultiViews
Order allow,deny
Allow from all
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /app.php [QSA,L]
</IfModule>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到我的网站http://bow.loc?
昨天升级到 Xenial 后,我在修复服务器的剩余部分时遇到了很多麻烦。
PHP 应用程序作为一堆代码运行,并且 ownCloud 不再“在服务器上找到”。
这可能与我尝试从命令行运行 Apache2 时遇到的这些错误有关。
我希望我能得到一些帮助,很多计算机都依赖这个东西:/
我会提供更多日志,但它们很大,我不知道要提供哪些部分。
哦,我在尝试安装 PHP5 时遇到了这个错误,如果这有帮助的话。
提前致谢。
编辑:这是从命令行运行“apache2”的输出:
我有一个运行 Apache 和 PHP 的非常标准的服务器设置。我正在运行的应用程序创建文件,这些文件归 Apache 用户所有www-data。我通过 SFTP 上传的文件归我自己的用户所有charlesr。所有文件都是该www-data组的一部分。我的问题是我无法通过 SFTP 修改或覆盖由 拥有的任何文件www-data,即使charlesr是该www-data组的一部分。我可以通过 SSH 会话毫无问题地修改文件。
所以我不知道该怎么做。如何授予我的 SFTP 会话权限以修改www-data拥有的文件?
对于一些背景知识,这些是我在设置服务器时为自己写的笔记:
Now set up permissions on `/var/www` where your files are served from by
default:
$ sudo adduser $USER www-data
$ sudo chgrp -R www-data /var/www
$ sudo chmod -R g+rw /var/www
$ sudo chmod -R g+s /var/www
Now log out and log in again to make the …Run Code Online (Sandbox Code Playgroud) 我已经在全新安装的 Ubuntu 13.04 上从 Ubuntu 软件中心安装了 php5 和 phpMyAdmin。
当我在浏览器中输入 localhost 时,会显示以下内容:
这是该服务器的默认网页。
Web 服务器软件正在运行,但尚未添加任何内容。
所以有些东西正在起作用。
如果我随后输入localhost/phpmyadmin或localhost/phpmyadmin/index.php页面返回 404 错误页面,则找不到文件。
<?php phpinfo(); ?>当我尝试通过浏览器访问它时,我在 /var/www 中创建了一个名为 test.php 的文件,其中有一行,我得到 403 Forbidden
这表明存在权限问题
使用 phpMyAdmin 我还安装了:
安装 phpMyAdmin 时,我没有被问到任何问题,我觉得这很有趣,因为在以前的安装中,我被要求选择一个服务器。
文件夹 /etc/phpmyadmin 有以下内容:
文件夹 conf.d 没有内容
有什么我需要安装但我没有安装的东西,或者我可以做些什么来修复 404 和 403 错误?
/var 中的所有者
:/var$ …Run Code Online (Sandbox Code Playgroud) 所有的教程都告诉我编辑:/etc/apache2/sites-available/default但这个文件对我来说不存在。在这个文件中,我必须编辑:
Run Code Online (Sandbox Code Playgroud)<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None #AllowOverride All #AllowOverride AuthConfig FileInfo Indexes Limit Options=All, MultiViews Order allow,deny allow from all </Directory>
文件应该是什么样的,我应该自己创建吗?
Aslo我确实有一个000-default.conf文件,但上面的“代码”也不在那里。
我正在尝试设置一个 PHP 路由库。他们给出了一个 .htaccess 文件的例子:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
Run Code Online (Sandbox Code Playgroud)
我无法让它工作,所以我尝试启用 mod_rewrite,但它显示“模块重写已经启用”。
为什么它不能正常工作?谢谢!我正在运行 Ubuntu Precise 12.04 和 apache2.2.22。(检查是否有任何更新)
编辑:更多细节,它是一个 PuPHPet vagrant 构建,应该启用重写。
我已经在 LAMP 上安装了 wordpress。因为我是 Ubuntu 的新手。所以,我使用了这个在线教程 如何在 ubuntu 上手动安装 wordpress
但是,当我尝试将目录的所有权授予 apache 用户时,它不起作用,我给出了以下命令
sudo chown admin:www-data /var/www -R
sudo chmod g+w /var/www -R
Run Code Online (Sandbox Code Playgroud)
“admin”是我为我的 wordpress 数据库用户选择的名称。任何人都可以指导我完成这个吗?
有人告诉我,我应该创建一个图像文件夹和一个资产文件夹,并且我需要确保:“它们是 apache 可写的”。我还被告知要使应用程序/运行时目录可通过网络写入。这与 apache 可写相同吗?如果是这样的话:
我怎样才能立即做到这一点,或者知道这一点?
做一个ls -l我得到的东西:
drwxr-xr-x 13 user user 4096 2011-08-26 10:23 app
drwxr-xr-x 4 user user 4096 2011-08-26 10:23 runtime
drwxr-xr-x 2 user user 4096 2011-08-26 11:11 images
drwxr-xr-x 2 user user 4096 2011-08-26 11:12 assets
Run Code Online (Sandbox Code Playgroud) apache2 ×10
server ×5
permissions ×3
php ×3
mod-rewrite ×2
virtualhost ×2
.htaccess ×1
14.04 ×1
16.04 ×1
apache2.4 ×1
directory ×1
mysql ×1
sftp ×1
wordpress ×1