apt-get install openssl
我看到Ubuntu 14.04 上还没有最新的安全补丁。我需要采取哪些步骤才能安装最新的 OpenSSL 而不会与我之前的安装冲突apt-get
?
Andrew's questions
我正在尝试启用 X11 转发,以便我可以从远程主机运行 Firefox。远程主机是运行 Ubuntu 12.04 的 Vagrant VM。本地主机是 Mac OS X 10.10。我想我已经正确配置了所有东西,但我以前从未这样做过,而且它似乎没有工作。
测试 X11 转发是否正确配置的简单方法是什么?
我正在创建一个 bash 脚本来配置一个可以部署 Web 应用程序的新服务器。我必须做的一件事就是将 GitHub 作为已知主机使用ssh [email protected]
. 如何在 bash 脚本中自动执行此过程,并以幂等方式执行此过程?
我正在运行 Ubuntu 12.04 的新服务器上设置 Nginx。这是我到目前为止所做的:
安装的nginx:
aptitude -y install nginx
删除了默认的虚拟主机配置:
rm /etc/nginx/sites-enabled/*
添加了我自己的虚拟主机配置:
mv myapp.conf /etc/nginx/sites-enabled/
启动nginx:
service nginx start
vhost 文件如下所示:
upstream unicorn_server {
server unix:/tmp/APP_NAME.sock fail_timeout=0;
}
server {
listen 80 default deferred;
client_max_body_size 4G;
server_name _;
keepalive_timeout 5;
access_log /var/log/nginx/APP_NAME.access.log;
root /var/www/APP_NAME/current/public;
# auth
try_files $uri/index.html $uri.html $uri @app;
location @app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn_server;
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /var/www/APP_NAME/current/public;
}
}
我可以确认 Nginx 正在运行:
service nginx status
* nginx is running
但是,我似乎无法访问它:
curl 123.456.789.0 # example IP
curl: (7) couldn't connect to host
我还没有启动独角兽服务器,但这应该不是问题。如果 Unicorn 没有运行,我预计会看到 502 错误。错误或访问日志中没有输出。我应该采取哪些步骤来解决问题?
我有一个 Ruby 脚本的 cron 作业。问题是ruby
可执行文件与预期不同。Ruby 是从源代码安装的,因此它应该是新的全局默认值。
$ ssh [email protected]
[email protected]$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
[email protected]$ which ruby
/usr/local/bin/ruby
我目前有我的脚本显示当前用户、ruby 路径和 ruby 版本:
# whoami
root
# which ruby
/usr/bin/ruby
# ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
我该如何纠正这个问题?
更新:执行的第一个 Ruby 文件的顶部有这一行:
#!/usr/bin/env ruby
这可能是一个愚蠢的问题,但我还不是 DNS 专家。我为我想使用 Heroku 托管的客户创建了一个新网站。客户已使用 Network Solutions 注册了他们的域,但 NS 记录指向 BizLand 托管。他们目前使用 BizLand 来托管他们的网站和电子邮件。我想在切换到新主机时保留他们的电子邮件。我需要将 CNAME 记录添加到 www 子域,以便他们的网站切换到新主机。
我遇到的问题是当我登录 Network Solutions(注册商)时,它不允许我在不将名称服务器记录移动到 Network Solutions 的情况下编辑 DNS 记录。当我登录到 BizLand(主机/名称服务器)时,它不允许我编辑 DNS 记录,因为它不是域名注册商。我想通过将域转移到像 DNSimple 这样的人以便于 DNS 管理来完全摆脱这两家公司。我的问题是:我怎样才能在不中断电子邮件服务的情况下做到这一点。我想我在某处读到,一旦 NS 记录更改为新的提供者,MX 记录就会重置。
我需要做什么才能进行此切换并保持电子邮件正常工作?
我遇到了与我的 cURL 版本捆绑在一起的 CA 包已过时的问题。
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
通读文档对我没有帮助,因为我不明白我需要做什么或如何做。我正在运行 RedHat,需要更新 CA 包。我需要做什么才能在 RedHat 上更新我的 CA 包?
我正在寻找一些关于这个的建议。有一个我非常想要的域名。我刚刚查找了该域的 whois 信息,这里有一些内容:
Sponsoring Registrar: 'Check Whois' (GODADDY) (GODADDY)
Status: client_delete_prohibited,client_renew_prohibited,client_transfer_prohibited,client_update_prohibited
Registrant Name: Domains by Proxy, Inc.
其余所有字段都是“未知的”。我不确定其中大部分是什么意思,但我知道该域名将在几周后到期。我知道 GoDaddy 在他们的网站上有一项功能,您可以向他们支付一定的费用以尝试为您获取域名,但我知道(或至少看起来如此)GoDaddy 拥有该域名,所以我担心如果我试图从他们那里获得域名,他们会试图欺骗我并让我支付很多钱,因为他们知道我真的想要它。
我该怎么办?
我是 Ubuntu 新手并设置了 Apache。我只是想为本地开发设置它。我发现了大量的信息,但其中一些是矛盾的或令人困惑的。我从全新安装开始,现在我已经搞砸了,当我尝试启动它时,Apache 会抛出错误。
有人可以给我一个简单的、逐步的方法来从头开始在 Ubuntu 上设置虚拟主机吗?我需要编辑哪些文件?我需要运行哪些命令?
谢谢!
更新#1: 具体来说,我得到的错误是:
* Restarting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Fri Oct 09 11:32:38 2009] [error] VirtualHost sitename:0 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
然后它说 [ Ok ],这是否意味着错误并不重要?我可以打开浏览器,输入虚拟主机的名称,然后会弹出正确的站点。但是当我输入 localhost 时,我也会得到同样的结果。
更新#2:我想我修复了“混合端口”错误。一个教程告诉我在我的 apache2.conf 文件中添加一行,我认为我不需要这样做。所以我删除了它,错误就消失了。我仍然收到有关无法确定完全限定域名的错误。这个错误是什么意思?它似乎工作正常。但是当我输入 localhost 它仍然显示另一个站点。我需要为 localhost 创建一个虚拟主机吗?
我习惯使用 Apache 服务器,所以当 mod_rewrite 启用时,我可以创建一个 htaccess 文件并使用 url 重写。
这是我的 htaccess 文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
现在我已经建立了这个使用这个 url 重写模块的网站,但我了解到它是一个微软服务器。我可以使用我的 htaccess 文件吗?我需要改变什么才能让它工作吗?如何判断 microsoft 服务器上是否设置了 url 重写?
更新:有没有我可以安装的适用于 htaccess 文件的免费版本?
我正在构建一个将用作 cms 的 Web 应用程序。每个用户都将获得自己托管的“站点”。因此,输入http://user1.myapp.com将显示特定于 user1 的内容。我认为这可以通过设置一个通配符子域来实现,它将所有子域转发到 myapp.com 主站点。如果我对此有误,请纠正我...
因此,一旦用户拥有了他们的“站点”(他们自己的子域),我想为他们提供创建新域名或转移他们已经拥有的域名的能力。因此,如果您访问 www.user1.com,显示的内容实际上是http://user1.myapp.com,但浏览器位置没有改变。
为了提供注册域的功能,我需要使用域经销商 API。我看过几个网站,到目前为止http://opensrs.com/似乎是最合法的,而且他们的 api 文档看起来很详尽,这很好。在您可以推荐之前,您是否曾使用过类似的东西?我基本上是在尝试自动化为每个帐户设置单个域的过程。请注意,我不会管理这些域的付款。每个用户都将获得一个免费域(由我支付),所以我需要做的就是注册新域并将它们与他们帐户的子域相关联(即用新域屏蔽子域)。
既然你知道了背景...
- 域屏蔽是描述我想要实现的目标的适当术语吗?有没有更好的方法来做我想做的事情?有没有一种合法的方法可以在不使用框架的情况下实现域屏蔽?
- 我可以在使用域经销商 API 的同时实现域屏蔽吗?
对不起,我不知道我在做什么,我需要你的帮助。我有一个 htaccess 文件,它进行了一些 url 重写,但它在服务器上不起作用。我不认为 mod_rewrite 已启用。但它没有被注释掉,并且 phpinfo() 说它是启用的模块之一。
我不知道该怎么办。请帮忙!
从我的 .htaccess 文件中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
更新:我在 http.conf 中将此行从 none 更改为 all:
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
我保存了它。试图重新启动 apache(按照我的 IT 人员所说的:/sbin/service httpd restart),但 apache 无法重新启动说:
Stopping httpd: [FAILED]
Starting httpd: [FAILED]
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
现在我无法回滚,因为我收到了同样的信息……出了什么问题!