iOS QuincyKit service 配置

最終實(shí)現(xiàn): 搭建一個(gè)本地Crash收集系統(tǒng)

準(zhǔn)備工作:

服務(wù)器端使用開源項(xiàng)目QuincyKit,我們先clone或下載下來鹃觉;
由于QuincyKit的服務(wù)器端是PHP寫的袜爪,所以我還需要部署PHP,這里我使用的是MAMP PRO,按照里面方法下載安裝即可雅任。

部署QuincyKit service 到 服務(wù)器

下面是QuincyKit的目錄結(jié)構(gòu)


Snip20171128_1.png
    1. 將QuincyKit中的sever文件夾拷貝到/Applications/MAMP/htdocs,這個(gè)目錄是MAMP默認(rèn)的服務(wù)器文件目錄咨跌,當(dāng)然這個(gè)目錄你可以在MAMP的hosts下自定義
    1. 編輯server目錄下的config.php.sample文件沪么,
$server = 'localhost:8889';                     // database server hostname
$loginsql = 'root';                             // username to access the database
$passsql = 'root';                              // password for the above username
$base = 'CrashDataBase';                        // database name which contains the below listed tables

重命名config.php.sampleconfig.php

    1. 訪問http://localhost:8888時(shí)出現(xiàn)403信息:You don't have permission to access / on this server.
      解決方法:在MAMP下進(jìn)入hosts,選擇Extended下勾選Indexes即可锌半,當(dāng)然你在htdocs目錄下創(chuàng)建一個(gè)index.php也可以解決
      Snip20171128_3.png
  • 4.進(jìn)入phpMyAdmin禽车,點(diǎn)擊 MAMP上的WebStart按鈕會(huì)打開phpMyAdmin,當(dāng)點(diǎn)擊localhosts:8889時(shí)彈出:Error in Processing Request Error code: 404 Error text: Not Found
    解決方法: 參數(shù)stackoverflow中的方案:
    進(jìn)入/Library/Application Support/appsolute/MAMP PRO/phpMyAdmin/目錄刊殉,打開config.inc.php殉摔,找到:
    $cfg['DefaultTabServer'] = 'main.php';
    將其修改為:
    $cfg['DefaultTabServer'] = 'index.php';
    或者將其注釋掉:
    #$cfg['DefaultTabServer'] = 'main.php';
    不過我最終選擇了升級(jí)MAMP,使用4.1版本解決

  • 5.測(cè)試是否配置成功:
    在瀏覽器執(zhí)行http://localhost/test_setup.php如果全部為passed則說明部署成功记焊,否則根據(jù)哪項(xiàng)不是passed查找原因;
    這里最初我的Database access:并沒有顯示passed逸月,查看日志得知原因:php連接數(shù)據(jù)庫(kù)失敗,日志PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /Applications/MAMP/htdocs/server/admin/test_setup.php:遍膜;
    原因是我的php是7版本的碗硬,而php7不支持mysql函數(shù),不過可以替換為mysqli的相關(guān)函數(shù)瓢颅;再次測(cè)試恩尾,全部passed

    屏幕快照 2017-11-29 上午12.07.51.png

  • 對(duì)QuincyKit的server代碼修改:

mysqli_select_db() 函數(shù)用于更改連接的默認(rèn)數(shù)據(jù)庫(kù)。
如果是php7, 請(qǐng)按照下面修改

mysql_select_db() 修改為mysqli_select_db() mysql_select_db()只有一個(gè)參數(shù)挽懦,是數(shù)據(jù)庫(kù)的名稱翰意,mysqli_select_db()有兩個(gè)參數(shù):

<?php 
// 假定數(shù)據(jù)庫(kù)用戶名:root,密碼:123456,數(shù)據(jù)庫(kù):RUNOOB 
$con=mysqli_connect("localhost","root","123456","RUNOOB"); 
if (mysqli_connect_errno($con)) 
{ 
    echo "連接 MySQL 失敗: " . mysqli_connect_error(); 
} 
 
// ...查詢 "RUNOOB" 數(shù)據(jù)庫(kù)的一些 PHP 代碼...
 
// 修改數(shù)據(jù)庫(kù)為 "test"
mysqli_select_db($con,"test");
 
// ...查詢 "test" 數(shù)據(jù)庫(kù)的一些 PHP 代碼...
 
mysqli_close($con);
?>
  1. 檢查是否安裝openssl
    $rpm -qa openssl
    openssl-1.0.0-20.el6_2.5.x86_64

2.利用openssl生成公有和私有key
$ openssl genrsa -out mykey.pem 1024
Generating RSA private key, 1024 bit long modulus
..........++++++
.++++++
e is 65537 (0x10001)

$ openssl rsa -in mykey.pem -pubout -out mykey.pub writing RSA key
$ ll mykey*
-rw-r--r-- 1 db mysql 887 2014-10-26 12:59:05 mykey.pem
-rw-r--r-- 1 db mysql 272 2014-10-26 12:59:12 mykey.pub
3.修改key的權(quán)限
$ chmod 400 mykey.pem
$ chmod 444 mykey.pub

$ ll mykey*
-r-------- 1 db mysql 887 2014-10-26 12:59:05 mykey.pem
-r--r--r-- 1 db mysql 272 2014-10-26 12:59:12 mykey.pub

4.把公私有key的路徑加入到my.cnf中
sha256_password_private_key_path=mykey.pem
sha256_password_public_key_path=mykey.pub
如果key放在datadir目錄下蔫磨,直接寫key名即可。否則要指定key的全路徑圃伶。

5.重啟mysql堤如,SHOW STATUS查看Rsa_public_key狀態(tài),如果不為空窒朋,則OK.
mysql> SHOW STATUS LIKE 'Rsa_public_key'\G
*************************** 1. row ***************************
Variable_name: Rsa_public_key
Value: -----BEGIN PUBLIC KEY-----
MIGfMA0ACSqGSIb2DQEBAQUAA4GNADCBiQKBgQDEnZaBWzo/4Ygm435LFKT8HBoX
bPkXATx9eJ4TWDtklLKidoWYj182fXdIpIA1Jt0CNm1MdLKwdcxuEOvSq/ortfmr
Y9doNlcpiLWUmDRD9LBH0AAJR1Tk7L8XLWEuq/nm3eiEnCUZE9+yF1gGxeDJQ2kG
oVHJhFxk0TST0R1nAQDDAQAB
-----END PUBLIC KEY-----
1 row in set (0.01 sec)
6.檢查重啟后的error log搀罢,相關(guān)的提示已經(jīng)消失

  • Mac 下ll命令 command not found
    打開終端
    cd ~
    vim .bash_profile
    加入:
    alias ll='ls -alF' alias la='ls -A' alias l='ls -CF'
    保存后,執(zhí)行
    source .bash_profile

  • 編輯MAMP4.1下my.cnf文件:
    打開MAMP PRO侥猩,點(diǎn)擊主界面左側(cè)LANGUAGES中PHP榔至,右側(cè)Extensions分類中點(diǎn)擊Manually enable other extensions右側(cè)按鈕(或者打開菜單欄File->Edit Template->MySQL->(選擇版本)),這時(shí)打開的文件就是my.cnf

  • mysql自動(dòng)停止 Plugin 'FEDERATED' is disabled

2017-11-29 23:46:17 7272 [Note] Plugin 'FEDERATED' is disabled.
2017-11-29 23:46:17 7272 [Note] InnoDB: Using atomics to ref count buffer pool pages
2017-11-29 23:46:17 7272 [Note] InnoDB: The InnoDB memory heap is disabled
2017-11-29 23:46:17 7272 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-11-29 23:46:17 7272 [Note] InnoDB: Memory barrier is not used
2017-11-29 23:46:17 7272 [Note] InnoDB: Compressed tables use zlib 1.2.8
2017-11-29 23:46:17 7272 [Note] InnoDB: Using CPU crc32 instructions
2017-11-29 23:46:17 7272 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2017-11-29 23:46:17 7272 [Note] InnoDB: Completed initialization of buffer pool
2017-11-29 23:46:17 7272 [Note] InnoDB: Highest supported file format is Barracuda.
2017-11-29 23:46:17 7272 [Note] InnoDB: 128 rollback segment(s) are active.
2017-11-29 23:46:17 7272 [Note] InnoDB: Waiting for purge to start
2017-11-29 23:46:18 7272 [Note] InnoDB: 5.6.35 started; log sequence number 1677335
2017-11-29 23:46:18 7272 [Note] RSA private key file not found: /Library/Application Support/appsolute/MAMP PRO/db/mysql56//private_key.pem. Some authentication plugins will not work.
2017-11-29 23:46:18 7272 [Note] RSA public key file not found: /Library/Application Support/appsolute/MAMP PRO/db/mysql56//public_key.pem. Some authentication plugins will not work.
2017-11-29 23:46:18 7272 [Note] Server hostname (bind-address): '127.0.0.1'; port: 8889
2017-11-29 23:46:18 7272 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
2017-11-29 23:46:18 7272 [Note] Server socket created on IP: '127.0.0.1'.
2017-11-29 23:46:18 7272 [Note] Event Scheduler: Loaded 0 events
2017-11-29 23:46:18 7272 [Note] /Applications/MAMP/Library/bin/mysqld: ready for connections.
Version: '5.6.35'  socket: '/Applications/MAMP/tmp/mysql/mysql.sock'  port: 8889  MySQL Community Server (GPL)
2017-11-29 23:48:52 7272 [Note] /Applications/MAMP/Library/bin/mysqld: Normal shutdown

解決方法:
打開my.cnf
[mysqld]下面添加

federated
skip-external-locking
skip-name-resolve
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末欺劳,一起剝皮案震驚了整個(gè)濱河市唧取,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌划提,老刑警劉巖枫弟,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異鹏往,居然都是意外死亡淡诗,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門伊履,熙熙樓的掌柜王于貴愁眉苦臉地迎上來韩容,“玉大人,你說我怎么就攤上這事唐瀑∪盒祝” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵介褥,是天一觀的道長(zhǎng)座掘。 經(jīng)常有香客問我,道長(zhǎng)柔滔,這世上最難降的妖魔是什么溢陪? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮睛廊,結(jié)果婚禮上形真,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好咆霜,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布邓馒。 她就那樣靜靜地躺著,像睡著了一般蛾坯。 火紅的嫁衣襯著肌膚如雪光酣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天脉课,我揣著相機(jī)與錄音救军,去河邊找鬼。 笑死倘零,一個(gè)胖子當(dāng)著我的面吹牛唱遭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播呈驶,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼拷泽,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了袖瞻?” 一聲冷哼從身側(cè)響起司致,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎虏辫,沒想到半個(gè)月后蚌吸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡砌庄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年羹唠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娄昆。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡佩微,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出萌焰,到底是詐尸還是另有隱情哺眯,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布扒俯,位于F島的核電站奶卓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏撼玄。R本人自食惡果不足惜夺姑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望掌猛。 院中可真熱鬧盏浙,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至丐黄,卻和暖如春斋配,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背孵稽。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工许起, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人菩鲜。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像惦积,于是被迫代替她去往敵國(guó)和親接校。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • docker-compose配置zabbix環(huán)境docker-compose文件version: "3"servi...
    Java架構(gòu)學(xué)習(xí)者閱讀 695評(píng)論 0 0
  • 1狮崩、memcache的概念蛛勉? Memcache是一個(gè)高性能的分布式的內(nèi)存對(duì)象緩存系統(tǒng),通過在內(nèi)存里維護(hù)一個(gè)統(tǒng)一的巨...
    桖辶殤閱讀 2,243評(píng)論 2 12
  • 簡(jiǎn)要介紹: 一般來說睦柴,LNMP是Linux+Nginx+MySQL+PHP的簡(jiǎn)稱诽凌,是一種用于替代LAMP的解決方案...
    無理取now閱讀 4,192評(píng)論 1 1
  • iOS開發(fā)之命令行的魅力 命令行使用及安裝 作為一個(gè)iOS開發(fā)者,命令行是我們必須使用的坦敌,下面我就簡(jiǎn)單介紹下命令行...
    風(fēng)清水遙閱讀 1,572評(píng)論 0 2
  • 吾言蒹葭水上花侣诵, 獨(dú)愛青芒映云霞。 今余美酒空應(yīng)景狱窘, 哪知黃鸝鳴誰家杜顺。
    傾慕的荸薺閱讀 382評(píng)論 4 2