经过一天的尝试,我在微软Azure上边的博客终于搭建好了。作为记录搭建过程,或者说自己的此刻的想法心得,在此稍微记录一下。

无意间看到微软给予学生的优惠大礼包中,Azure可以免费使用Web应用。虽然没怎么搞清楚啥叫web应用,但是看着像可以搭建自己的一个网站的样子。在免费资源中,有1GB的硬盘储存空间,还有1GM的RAM,还有CPU使用率什么的,虽然不多,但是对于简单的学习搭建一个wordpress已经绰绰有余了。由于并不是给了一个虚拟机自己可以拥有root权限做任何想做的事情,所谓的web应用是他们把一些功能进行了深层次的包装。也就是说,我得到了一个可以运行php的文件夹,我可以用ftp上传文件到这里,然后通过给我的这个域名,我可以访问到我都php网页。php的配置也不需要我担心,所有都弄好了,只需要上传php文件。作为测试php,用phpinfo最方便,当然我的第一个页面就成了显示php安装信息的页面了。

安装wordpress有两大部,第一要有一个php运行环境,第二要有一个mysql数据库。在Azure搭建这个博客,第一个条件挺容易满足,php直接就可以使用,第二个mysql费了一些周折。官方给了一个叫做mysql in app 的插件,理解这个名字就很费劲。什么叫app,为什么又是mysqll IN app,慢慢才搞懂,就是说Azure提供给我一个php虚拟机,同时提供运行mysql,可是这个mysql有特定的设置,只能本地运行,(后来我用sqlyog尝试链接失败。)

官方提供了很多上传代码的方式,最容易入手还是ftp。首先学到一个新词,上传文件叫做部署(Deployment),上传需要登陆ftp用到的账号叫做部署凭证(Deployment Credentical)。在这里设置一个用户名和密码,这里还有一个坑。就是当你设置完之后一心欢喜用工具开始连接ftp主机,可是毫无疑问会失败。这是因为真正的登陆账号在overview上边找到,是主机名和刚才设置的用户名的结合体,比如我的是XXX\XXX,地址也在那里有显示,浪费我好多时间在这儿,坑死人了。

官方有个phpmyadmin叫做插件,如果不是稍微了解一些技术细节的话,还真被他们这些专业属于吓唬的一愣一愣的。我自己通过ftp上传了一份phpmyadmin,可是死活找不到账户名和密码,并且官方的插件也是自动登陆,显然,官方不愿意让人知道mysql的账户名和密码。没有了账户密码我就不能安装wordpress,找账号密码这个问题用了我一天时间。。。首先思考,官方的phpmyadmin能够登陆,总归有一种验证方式,通过ftp每个文件夹找啊找,终于找到了一些信息,config.ini.php里边保存了默认登陆信息,同时找到了主机(所谓的APP)提供关键登陆信息:MYSQLCONNSTR_localdb 文件,里边其实告诉了详细的信息,包括数据库地址(在localhost的基础上换了端口,又是一大坑点),还有一个账号和密码。我直接用这个账号密码登陆我下载phpmyadmin不行,现在知道了原因,是端口号不是默认的所以不对不能登陆。后来,把官方默认的配置文件都抄到我下载的phpmyadmin里边,神奇的也不用密码就快可以进入了,所以我知道这个配置文件有文章。关键是php语法我看不懂,看来看去看不出什么文章来。。然后我就尝试在phpmyadmin里边找root的密码,失败告终。又尝试创建新的账户,却在添加权限的时候出错,我都理解是Zaure给的这个账户权限不够。网上说的可以通过页面修改root密码,可是关键的一点没有edit privilege 这个选项,看到了微软满满的不愿意你修改账户的想法。

后来想各种方法改管理员root的密码,想把这个账户拿回来,那样就完全控制了我都数据库。由于没有虚拟机的足够权限,我没办法关闭mysql再在配置模式下打开,就不能通过无密码方式进入数据库修改root密码。后来就思考,这些信息都因该是存在表中的,我能不能直接操作数据表把密码删掉呢,后来,真在mysql里边找到了usr这个表单,在这里,可以授权失败添加的新账户强行加上各种权限,这样,之前创建的空白数据表也有了操作者,说明我的权限添加成功。我有满心欢喜的用这个账号去登陆wordpress,还是失败告终。搞不懂说明原因。后来我随手点来默认的azure账户,发现所有权限都有唯独grant权限关闭,当时我也不知道有啥用,只是想反正就是尝试少一个不如多一个。后来在主页user account神奇的一幕出现。多了一栏有了修改权限这个选项。后来想明白,开始能创建用户但是给不了权限,就是因为我操作者账户没有grant权限的问题,在我手动点开后我就可以给其他用户分配权限(也就是grant命令),在写这篇文章的时候,我又想起那是不是root的密码也可以拿回来了,一试,果然~~~~~

在wordpress上,很早就知道了azure用户名和密码,尝试很久不能登录现在知道了原因,是localhost后需要加自定义端口,而我从来没有往这方面想,后来成功的一次是随手试了一下,果然还需要多尝试。到目前位置,我的wordpress已经可以用azure连上数据库,并且现在我已经在这里写文章了。但是不知道为何我新生成的账户不能登陆。就在刚刚,我尝试了用root和shuspieler登陆phpmyadmin,竟然成功了,理论上讲,应该也能登陆wordpress,毕竟这两个都是我自己下载的不是官方的资源。我的wordpress写了这么多,也不忍心再尝试了。就留个悬念吧,我觉得可行。(之前自定义的账户不能登陆phpmyadmin可能是由于没有加权限,唉关于数据库怎么都是权限。。。)

记录下今天一天的事情,mysql就是和权限说话,官方没有给grant导致一些列事情做不了,我手动修改数据表加上这一点后所有事情解决。另外官方其实给了connecterstring,可是我忽略了这个文件的重要性,事实是上边每个数字每个子母都很有意义了,今天的瞎折腾,感觉有了不少实际性的提高,最希望的是自己不要把踩过的坑忘记啊。

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.