ios下(個人公司非企業級)AdHoc線上安裝全環境配置

來源:互聯網
上載者:User

1,環境

用戶端開發:MacOs 10.8.5

伺服器開發:Centos6.3 64位

2,軟體準備

Apache httpd 2.2.27

OpenSSL 0.9.8za

3,用戶端準備

Apple的開發人員帳號大致分如下三類:個人,公司,企業,這一篇我們主要說下個人、公司的ipa線上安裝。個人公司層級的AdHoc有這樣一個限制:就是線上發布的ipa包只能安裝

在添加到Apple帳號的Devices列表中(發布IPA之後再添加的裝置需要重新打IPA包)的非越獄裝置及越獄裝置中,而企業級的開發人員帳號則沒有這樣的限制。

首先在Xcode中我們把需要上傳的IPA打包出來,大致流程如下:




這一步需要將後續存放ipa的伺服器路徑提前寫好, 會儲存在對應的plist中。


儲存之後應該會產生對應的ipa和plist檔案,用戶端的準備導致完成。so easy!

4,伺服器準備

a)安裝openssl

解壓步驟2中下載的openssl包並安裝

tar zxvf openssl-0.9.8za.tar.gz
cd openssl-0.9.8za
./config
make
make install
#tar zxvf httpd-2.2.27.tar.gz
cd httpd-2.2.27
./configure --prefix=/usr/local/apache/httpd --enable-ssl=static --with-ssl=/usr/local/ssl
make
make install

這裡將最新OpenSSL安裝到/usr/local/ssl中, 不用理會系統中的OpenSSL版本, 也不用去卸載否則可能會引起其他應用的錯誤。

b)安裝Apache httpd

修改/usr/local/apache/httpd/conf/httpd.conf中

#Include conf/extra/httpd-ssl.conf 去掉前面的#

在/usr/local/apache/httpd 下執行./bin/apachectl start 嘗試啟動apache,因為開啟了ssl所以啟動會失敗提示外面要配置認證。

c)產生認證

在/usr/local/apache/httpd/建立ssl目錄,用於儲存建立的認證檔案。然後cd ssl

(1)用openssl選擇rsa非對稱演算法和des3對稱式加密演算法來製作CA認證:

openssl genrsa -des3 -out my-ca.key 2048
上面會產生一個密鑰長度2048位的密鑰,,儲存在my-ca.key檔案中,這個檔案會要求你輸入個密碼,這個密碼後面用到這個檔案時都會用到。

(2)然後使用x509標準簽署認證

openssl req -new -x509 -days 3650 -key my-ca.key -out my-ca.crt
上面這步產生了有效期間10年的CA認證檔案 my-ca.crt,這個過程會讓你填一些基本資料,比如國家城市,公司名,網站名等等,因為是自簽署,隨便填就行了。

(3)現在有了CA認證了,就可以用它來為我們的網站頒發ssl認證了。同製作CA認證一樣,我們需要先為伺服器產生金鑰組

openssl genrsa -des3 -out mars-server.key 2048

(4)產生了密鑰mars-server.key後,根據它產生csr認證檔案

openssl req -new -key mars-server.key -out mars-server.csr

執行上述命令時同樣要輸入一些基本資料,這裡面要注意了Common Name的值要和你的網域名稱一致,否則後面用戶端瀏覽器驗證網域名稱不正確會不通過的。這裡我是區域網路就填了區域網路的ip,如果10.21.122.22, 因此如果你的區域網路的主機的ip變了的話,就需要重新頒發下認證了。所以建議直接在路由或交換上把你的主機設定為固定ip.

(5)下面就用CA認證來簽署伺服器憑證了

openssl x509 -req -in mars-server.csr -out mars-server.crt -sha1 -CA my-ca.crt -CAkey my-ca.key -CAcreateserial -days 3650

到這裡,我們所需要的認證就完全做成了。下面需要做的就是部署到Apache裡面了。

(6)產生mars-server.key的過程中,可能對這個檔案設定了密碼,如果直接部署,那麼以後啟動apache的時候都要輸入這個密碼,但是一般我們都開機自動啟動apache,手動啟動多麻煩啊,可以把這個檔案轉換一下,省去輸入密碼步驟:

cd /etc/apache2/sslopenssl rsa -in mars-server.key -out mars-server.key.insecure

d)Apache中配置認證
建立一個目錄放認證檔案,如放在/etc/apache2/ssl下,包括3個檔案,分別是:my-ca.crt mars-server.crt mars-server.key.

修改/usr/local/apache/httpd/conf/extra/httpd-ssl.conf如下:

httpsSSLEngine On
SSLCertificateFile /usr/local/apache/httpd/ssl/mars-server.crt
SSLCertificateKeyFile /usr/local/apache/httpd/sslmars-server.key.insecure
SSLCACertificateFile /usr/local/apache/httpd/ssl/my-ca.crt

切換到/usr/local/apache/httpd目錄下啟動伺服器:

./bin/apache/apachectl start

瀏覽器中試試https://localhost/是不是可以訪問了~~

e)配置https下載相關

環境配置好之後就簡單了, 只需要把待下載的資源放到指定目錄, 並修改https的根目錄下的index.html添加兩個下載的連結,簡單index.html如下,各位可以自由發揮:

                                                下載前請安裝此認證                            下載ios測試用戶端test            

移動上述步驟建立的index.html、ipa、plist及ssl檔案夾中的my-ca.crt到/usr/local/apache/httpd/htdocs目錄下,即可正常線上安裝。

注意:

1,第一次訪問網站進行線上安裝的裝置需要先安裝ssl認證,也就是上述建立的my-ca.crt才可以正常安裝ipa,後續再研究下是否可以省略這一步。

2,為了相容ios7.1上述index.html中items-services://中請使用https

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.