这个问题困扰了我好几天。
我一直在努力搭建Amazon EC2上的LAMP服务器。主要问题是,我正在为客户编写一个需要大量高端处理的应用程序,而Amazon EC2似乎是一个不错的选择。
最初,我开始使用一个基本的AMI,该AMI实际上什么都没有。我尝试使用root访问SSH(使用WinSCP),结果被告知要使用ec2-user。
我尝试使用ec2-user登录,成功进入了系统。然而,我仍然没有root权限,也无法安装apache。我进行了一些研究,发现了"sudo"命令,并且几乎每篇关于此问题的文章都建议要么使用root访问,要么登录ec2-user并使用sudo。
后来我再次尝试了一个已经安装了LAMP的不同AMI。我能够让它工作,设置了数据库并开始从中运行网站。但是,我仍然需要安装一些扩展程序。特别是,我正在尝试使用一个API,该API要求安装SOAP。
这就是我的困境所在:
/$ whereis soap
soap:
/$ whereis yum
yum: /usr/bin/yum /etc/yum /etc/yum.conf /usr/share/man/man8/yum.8.gz
/$ yum install php-soap
Loaded plugins: fastestmirror, priorities, security
You need to be root to perform this command.
/$ sudo yum install php-soap
sudo: sorry, you must have a tty to run sudo
Command 'sudo yum install php-soap' failed with return code 1 and error message sudo: sorry, you must have a tty to run sudo
由于我没有root访问权限,所以无法使用yum,每当我登录root时,它要么告诉我使用ec2-user,要么提供一个我没有的密码。另一种选择是使用sudo使ec2-user像root一样工作,但我总是收到错误“对不起,您必须拥有tty才能运行sudo”。我在网上运行了该错误消息,发现我需要将用户添加到sudoers中...但我没有root访问权限。
这个确切的问题困扰了我两个独立的AMI。在第一个中,我只收到一条消息,说我必须以ec2-user身份登录(我必须要有tty才能运行sudo),而第二个(已安装LAMP)则要求我输入root密码,而对于用户,我得到了相同的sudo错误。
以下是我使用的AMI的ID:
ami-8c1fece5
ami-6ae81503
我之前尝试了一个已安装LAMP的第三个AMI...但是我根本无法进入那个AMI。
我下载了我的SSH密钥并使用PuttyGen将其转换为ppk文件。 我可以成功用ec2-user登录,但是我无法在任何地方获得root访问权限。
我一直在寻找帮助,但我阅读的每篇文章都假定用户具有可用的root访问权限或者在ec2-user上有sudo权限。 我两者都没有。 难道我需要一个新的镜像吗?
非常感谢任何帮助......